Move the mobile API from the Espera.Services to Espera.Core
Fix up some things
Initial hack on the file transfer API
Properly find a matching message and file transfer client

Fixes #64

Previously, if a user disconnected and reconnected again, the ReplaySubject would replay every client again and the selector would select the first (disconnected) in the sequence
Use Observable.FromAsync