New entity based permission layer

The role and permission model is made more flexible allowing for
fine-grained permission checks compared to the current model.

This is also an opportunity to change the way data are stored in the
database.
\BlueLaTeX aims to be really modular on the server-side but this
modularity is not achieved if data is not as modular as code. The
entity-component system allows for adding and deleting responsibilities
to entities in a modular and dynamic way, hence seems to be a good way
to go for the future.

I am aware this commit introduces breaking changes but, that's the
moment to do it, \BlueLaTeX is not released yet so let's break things
now.

Concretely the new role and permission model introduces following
concepts:
 - Group of users,
 - Phase defining permission for each role,
 - Refined permissions for papers.

To prepare for the near future, the paper document in database is also
simplified to its essence. Branching related stuffs will come back later
when this feature is introduced into \BlueLaTeX.

Roles and permissions are components that are attached to the paper
entity without any need for modifying the entity document.

Having introduced this, we can now improve all other entities such as
paper data and user data.
Make users and papers entities with components

The core and compiler bundles bring their own data in a modular way.
Users and papers are just entities, with no other meaning than just
existing.

core bundle brings:
 - user basic data (first name, last name, email address, ...),
 - paper basic data (title, last modification),
 - paper roles (authors, reviewers, ...)

compile bundle brings:
 - paper LaTeX compiler settings
Update test scenarios

Make test scenarios take into account that data are now stored using an
entity-component system.
Merge pull request #84 from satabin/wip-entity-components

This merge introduces some compilation warnings which will be removed when updating to scala 2.11.