syncslides: MT discovery

To test,

  Get all your devices on one network with a MT.
  Assure sure all devices and the MT have a compatible blessing.
  Start the app on >= 2 devices.
  Start a preso in one, see it appear in the deck list of
  the other device as 'live'.  Stop the preso by clicking
  back, and the 'live' deck goes away (after a few
  beats).

When the phone rotates, or when the user enters android task switcher
and comes back, there's an unmount/server-stop/ server-start/remount
cycle.  So preso advertising can be easily interrupted via
phone fumbling.

The tricky part here was arranging for the existing syncbase / v23
interaction to play nice with new MT discovery stuff, and allowing for
different combinations of execution:

  1 fake DB, fake Discovery
  2 fake DB, real Discovery
  3 real DB, fake Discovery
  4 real DB, real Discovery

I tried 1, 2 and 4 but didn't spend much time with 3.

This mean pulling blessing mgmt code out of syncbase and into a shared
spot, then rejiggering the onActivityResult stuff to make sense.

Todo

  Titles are coming through, but not thumbnails.
  Just need to add them to the proto.  There are
  no intent limits involved anymore.  I was going
  to attempt to use the same deck struct on the
  discovery side as used by the DB (VDeck).

Change-Id: Ia0e3799c194da6a8e42630702723a247fadb26e4
18 files changed