Introduction of wb.Entity and related constructors and its usage in our code

Constructors we need for first step towards proper entity store interface which we can use in
entityview widget and others to get rid of global revision and entity stores. This patch set will
not make any real use of any of that new code in existing code yet.

* wb.Entity, wb.Item and wb.Property implementations which will replace loose array structures we
  are dealing with currently.
* initial implementation of wb.store.FetchedContent which represents some wiki content plus meta
  data such as wiki page title and fetched revision.
* new module "wikibase.serialization" which holds serialization logic to unserialize
  wb.Entity and wb.store.FetchedContent from JSON.

Change-Id: I1c8912d8e82ff1b563a6e8861f73bfb223caa696
Changes wb.RepoApi.getEntities to promise a collection of wb.Entity

Would promise a collection of raw data before.

* changed jQuery.wikibase.snakview to make use of the change (rather than break).
* simple refactoring and adjustment of some API test

Change-Id: If80ca6c9048cd9d6880a9c790240fdb4e81cbcc0