Bluetooth Beam handover: deal with multi-file transfers.

A handover transfer object no longer represents a single file,
but all the files associated with the handover. This association
is based on the source address of the transfer and a timer;
if a new file transfer from the same source is started within
this timer, it is considered to be part of the same handover
transfer.

Received files are stored in beam/. If multiple files are
transferred, they are stored in their own subdirectory of beam.

We now use the mediaScanner for mime-types that the
platform can deal with by default. The advantage of this
is that the mediaScanner can already gather meta-data for
these files, and (platform) apps can query for and populate
views with such data.

3rd party applications can also query the mediaScanner
for meta-data on the received files.

A handover transfer object has a single notification
associated with it; upon launching the notification,
a single ACTION_VIEW intent is launched. If multiple files
were transferred as part of this handover, ACTION_VIEW is
launched on the first file in the set.

Change-Id: I00c23e58736f6dbe96726a1ec56fbc8c984a215d
4 files changed