[imp #93] Make default file names user-friendly

Instead of using the paper identifier as default names for the files
automatically created with a new paper, it is better to use more
human-readable names such as `main.tex` and `references.bib`.
[imp #87] Suggest filename for downloaded content

There exists a special header named `Content-Disposition` that allows
for suggesting a filename to the web browser when it downloads a
resource.
It is a good idea to use it for files when the URL does not suggest any
user-friendly file name.
Merge pull request #95 from satabin/feature/new-default-names

[imp #93] Make default file names user-friendly
Merge pull request #96 from satabin/feature/set-filename-header

[imp #87] Suggest filename for downloaded content
[imp #42] Synchronization actor code clean-up

Lots of clean-up done in this commit:
 * The actor system now uses immutable parameters. This should allow more
advance and fancy akka-stuff, such as actors over network, etc. To do this, all
mutable parameters have been encapsulated in an immutable case class, and the
code now makes use of the 'context.become()' pattern. There is still use of
mutables variable in the code, but far less than before, and they should not
interfere with akka possibilities.
 * Separate code of dispatcher and actor. It is much easier to maintain this
way. By the way, correctly rename 'SynchroDispatcher' to 'SyncDispatcher'.
 * Rename unit test from 'SynchroDispatcher' to 'SyncActor', since it actually
tests the actor and not the dispatcher (+ it adds naming consistency).
 * Add of a package file to define type aliases for PaperId, PeerId, etc. In
fact, it may be a good move to actually define these in the blue-core package.

This commit is quite big and should have been done in multiple, smaller commits.
For that, I apologize. No kittens were harmed in the making of this patch.
Merge pull request #90 from chemicalstorm/wip-immutable-synchro

[imp #42] Synchronization actor code clean-up
Bump \Blue version to M2