Improve entity API for creation

The `EntityManager.create` method now takes the identifier of the
entity, this allows people for creating an entity with an explicit
identifier. the `createSimple` and `createTagged` methods however still
generate the identifier themselves.
Archive js design files in OSGi bundle

[skip ci]
Add resources in compilation phase

[skip ci]
Fix design saving

Designs are saved sequencially not in parallel. This should probably be
improved in a later version.
Fix typos
More uniform method name

In sohva, we have a unique method to add and update documents, the
`addComponent` name was kind of illogic as it has the same semantics as
the `saveDocument` method.
This is now fixed.
Code cleanup

Use the same synchronization function in all sohva modules. As well,
these functions rethrow the exceptions to make stack traces clearer.
Add common interface

Adopt the same common interface approach as the sohva client for
different flavors (async, sync and control).
Fix entity deletion

It is not enough to specify the start key to retrieve the components of
an entity, but we also must exclude other entity keys that could start
with the entity key being deleted.
Export entities package

[skip ci]
Fix end key

Only the first part of the end key must be given.
Do not fail if component does not exist
Update lift-json version

the new milestone version is now released for scala 2.11.
Fix lift-json version
Bump dependency versions
Add the TedMosbyStrategy

This is the contrary of the BarneyStinsonStrategy, and it always keeps
the version from the database in case of a conflict. This also applies
to deleted documents which stay deleted if there is a conflict. This
results in an exception being thrown in such a case because no document
could be saved in the database after all.
Improve design (de) serialization
Add design manager

The design manager allows you to hav local representations of designs
saved in the database, and to synchronize between both local and
database stores.