Release 2.0.0 alpha 1

This alpha release does not represent the final feature set of 2.0. As the
development of 2.0 hanged for a while, many people are already using the
current state of the code so this alpha release allows them to lock it if
they cannot update for the new changes.
Refactored the RouterVoter to make it more flexible

The way to pass routes in the item extras has changed.

before:

    'routes' => array('foo', 'bar'),
    'routeParameters' => array('foo' => array('id' => 4))

after:

    'routes' => array(
        array('route' => 'foo', 'parameters' => array('id' => 4)),
	'bar',
    )

This new syntax allows using the same route with multiple parameter sets
for the same item, or matching the route for any parameter while using
some parameters to generate the url in the RouterAwareFactory by adding it
explicitly without parameters.

The old syntax is deprecated, and using it will trigger a
E_USER_DEPRECATED error.

Parameters are now checked against the _route_params attribute (introduced
in Symfony 2.1) instead of the attributes themselves, to avoid issues with
type casting when using param converters to replace the attributes by
objects. Closes #92 and replaces #93.
Added the support of matching route names based on a regex in RouterVoter

This is done by passing the 'pattern' key instead of the 'route' key in
the array set in the routes extra. If both keys are defined, the exact
route name matching is applied.
Updated the changelog
Moved some manipulation methods out of the ItemInterface

The new MenuManipulator class provides the replacements for these methods.
The MenuItem class still implements the methods even if they are not in
the interface anymore but they are marked as deprecated and trigger a
E_USER_DEPRECATED error.
Moved the toArray method to the MenuManipulator
Moved the creation from array and from node outside the item factory

They are now handled by loaders
Introduced factory extension to provide better hooks in the factory