Added a test interface for testing Range objects.
Added a Range test implementation for Long type.
Added GPL Affero license notice to all existing files.
Added project maven POM file.

Compiles with 1.6 source code.
Support Junit for running current unit tests.
Introducing new POM dependencies:

- Added tinkerpop Blueprint-neo4j (2.3.0-SNAPSHOT) dependency.
- Added neo4j (1.8.1) dependency.
maven: Direct neo4j dependency is replaced with transive
dependency via thinkerpop-blueprints-neo4j dependency.

Added blueprints-test dependency, required for testing the versioned
graph.
An initial commit of the versioned graph.

This commit contains the following main components:

VersionedGraph:
An abstract base VersionedGraph class.

NonTransactionalVersionedGraph:
A non-transactional versioned graph implementation

LongVersionedGraph
A non transactional versioned graph
Update README.md
Javadoc corrections.
Fixed bug in node historical chain creation where the created edge
directions were wrong.

Formatted code.

Introducing a new method (VersionedGraph.getVertexForVersion(Vertex,
Version) to find the appropriate vertex for a specific version.
An initial versioned graph tests for non-transactional implementation.
Missing imports and copyright notice for VersionedGraphTest class.
Added slf4j dependnecy for logging.
Replaced sys.out log messages to slf4j loggers.
Fixed bug where removeVertex/Edge were allocating more than 1 version
for each commit.

Some cleanups and small refactoring to get a non eventable element.
Added basic tests for:

- Adding new versioned vertices.
- Adding new versioned edges.
- Versioned vertices removal.
- A vertex property which defines whether the vertex is historical or not.
- Skipping internal properties while creating a historical vertex revision.
Support for Google's Guava (14.0-rc1) dependency.
Introducing ability to filter versioned vertices's edges

This is a major feature and contains:

- Models created to support filtering and versioning context.
- Filtering edges is done by applying perdicate on the edges
- Tests for edges versions.
- Several general cleanups and docs.
Private hash calculation of a VersionVertex.

Implementation of a private hash (based on SHA-1) calculation of a VersionedVertex.
A private vertex hash is a calculation of the vertex properties without
taking into consideration the vertex's edges.

This commit also contains:
- A rename of VersionedVertex.version -> forVersion
- A rename of VersionedGraph.isPropertyInternal to isInternalProperty
- Tests for the private hash calculation.
Code formatting for all current classes.