[feature] Added a tool to write Facebook classes

This commit introduces helper tools in python that
is used to write Facebook ontologies, and interfaces
based on Facebook object description files, that
are written in JSON.

See the README for more information.
More features for generators

This commit includes
* Support for lists, that are managed with QDeclarativeListProperty
* A port of Facebook image interface
* Rework of tag (closer to Facebook API)
* Bugfixes for bool conversion issues
* Qt 5 compatibility
* Support for like, thanks for the API introduced in #17
* A relayout of the ontology include
More ports to autogenerated code and bugfixes + changes

This commit includes:
* Port to autogenerated code for all Facebook*Interface
  classes.
* Comparisons used in emitPropertyChangeSignals no longer
  use conversions. Now QVariant are directly compared.
* Inclusion of generate.sh, a script to perform batch
  (re)generation.
* Documnetation fixes for QML
* Conversion problems from QVariant to QUrl or int.
* Fixes for property naming.

Changelog:

+ : Added
- : Removed
c : Changed

bookAlbum ==

c   coverPhoto          coverPhoto is an identifier. It was
                        changed from QUrl to QString.

== FacebookComment ==

+   parent              parent is the parent comment. It is
                        currently not set.

+   canComment          holds if the current user can reply
                        to the comment.

+   commentCount        holds the number of replies of the
                        comment.

== FacebookLike ==

-   targetIdentifier    target_id never existed in Facebook
                        API. It is impossible to know what
                        is liked, simply by looking at the
                        like entity.

== FacebookPhoto ==

c nameTags              nameTags is now exported as a
                        QDeclarativeListProperty, since
                        Facebook API provides them as a
                        list.

c images                images is now exported as a
                        QDeclarativeListProperty, since
                        Facebook API provides them as a
                        list.

== FacebookTag ==

-   targetIdentifier    target_id never existed in
                        Facebook API. It is impossible
                        to know who is the tagger.

c   text                text is set only if the tag do
                        not tag an user.

-   xOffset             xOffset is removed and renamed
                        to x.

-   yOffset             yOffset is removed and renamed
                        to y.

+   userName            userName is used to store the
                        name of the user who is tagged.

+   x                   x is used to replace xOffset.

+   y                   y is used to replace yOffset.

== FacebookUser ==

c   gender              gender is now parsed and
                        transformed as an enumeration.

c   timezoneOffset      timezoneOffset is now a float.

+   cover               Added cover, that contains the
                        cover used by the user.

c   interestedIn        interestedIn is now provided
                        as a QFlags.