Major: move to a 2^128 file id space.

The long random id used to identify each file is replaced by an instance of
FileId. Currently, a FileId consists in two longs, which increases the state
space to 2^128. This should be more than enough
(see https://en.wikipedia.org/wiki/Birthday_attack), but this is now modifiable
if needed as the FileId is mostly opaque.
Merge branch 'master' into longer-file-id

Integrate modified comment by Philipp but keep the FileId.
Conflicts:
	src/org/syncany/database/PartialFileHistory.java
Merge branch 'master' into longer-file-id
Move FileId to a byte based storage.

This is a compromise between the full ByteArray class and the special
two long representation.
Minor refactoring/moving of branch, JavaDoc for REST plugin, etc.
Update and rename LICENSE to LICENSE.md
Update LICENSE.md
Merge branch 'longer-file-id' of https://github.com/fabrice-rossi/syncany
Remove the Random object inside Indexer.

This is not needed anymore as Ids are created by factory methods in
there on classes.
JavaDoc for transfer objects, Config and Cache (major stuff to come on the weekend)
Move ChunkEntryId to use ObjectId rather than ByteArray.

This implementation leeks the internal byte[] array because we need
access to it in order to access a Chunk in a MultiChunk.
Quick and dirty cleanup (unfinished)
Merge Fabrice's ID solution
Introduced FileChecksum, and renamed ChunkEntryId to ChunkChecksum
Replace ByteArray by MultiChunkId, FileHistoryId, ChunkChecksum and FileChecksum