Updated CLIRR backwards compatibility rules for 2.0, set CLIRR to fail the kernel build if Beans API changes brake backwards compat rules.
Removed cypher plugin from the product.
Updated manual with details on label name constraints
Set up cypher build to skip pmd static analysis due to clashes with scala
Disabled findbugs for cypher due to scala clashes
Added the possibility to create nodes with labels
Added the possibility to create nodes with labels
Added the possibility to add labels to nodes using ADD LABEL/CREATE
Added a bunch of tests
Moved helper methods into an implict class
Refactoring for better understandability
o Kernel API able to remove labels from nodes
o Added remove label and create labeled node support to the Beans API
o Adds ability to remove labels via the REST API
Adds more label docs
Revert "o Kernel API able to remove labels from nodes"

This reverts commit 1c4cdf34b7e374a6406e571abe4731a409ce3154.
Imports
Fixed incorrect cypher documentation links
Revert "Revert "o Kernel API able to remove labels from nodes""

This reverts commit c1f6a6a8f871dbc7cc33fc5fe1e9ad92d76bb143.

This commit now includes fixes for the problems which had it reverted:
o Ensuring statements are closed in a place common in both from
  TopLevelTransaction#finish() and TransactionManager#begin()
Fixed a problem where labels leaked out as being properties when loading properties on nodes
o StatementContext#close accepts 'successful' argument to use in transaction
  state when deciding whether or not to apply the state down the stack or not
o Wrote unit tests around TransactionStateAwareStatementContext and found
  and fixed bugs around that.
Tracks stats about added/removed labels