Coherent behavior for all collection slice and indexing operations.

o All relevant operations - head, tail, last as well as bracket-syntax indexing
   ([x] and [x..y]) now return null for out-of-bounds operations.
Cleanup of internal classes that should not be publicly documented.

o Moves all publicly documented internal classes added in 2.0 to internal packages.
o Deprecates all publicly documented internal classes added before 2.0.
Update Cypher test dependencies

o ScalaTest_2.10 2.0 has been released
o Add ScalaUtils_2.10 2.0 (=== operator now lives in separate artifact)
o Add ScalaCheck_2.10 1.11.0 (we want to work with it)
Adds trace logging statements during election and cluster join/leave.

This is a temporary commit, because we need the execution powers of the CI
 system which seems capable of reproducing some edge case failures. After this
 task is done it should be reverted and if prudent, polished and reapplied.
making the message about what people need to do to get Java 7 a bit clearer
Merge pull request #1420 from boggle/master

Update Cypher test dependencies
Consistency checker: delegate incremental checking to full checking.
Traversals are executed in one statement

o Because of that org.neo4j.graph.traversal.Traverser is now a
  ResourceIterable so that it produces closeable traverser iterators.
o Introduced Resource which extends AutoCloseable which has got a
  close() method that doesn't throw any checked exceptions. That made
  sense since ResourceIterator had a close() method like that and if you
  would like to use the "closeable" aspect such an iterator as an argument
  you previously passed it in as Closeable or AutoCloseable and caught
  IOException just re-throw it as RuntimeException, not that such
  IOException would occur of course.
o Kernel API statements also extend Resource instead of AutoCloseable,
  since statements were often used together with an iterator to form a
  ResourceIterator (which had an exception-less close() method). See the
  point above for more information.
o A traverser that reaches the end will also automatically close itself.
o The REST traversals do not use a single statement, since they use multiple
  transactions to page results. The argument here being that the prime
  mechanism for high-performance traversals is via server extensions, not
  via the REST traversal API. It does not seem worth the effort, right now
  at least, to implement single-statement traversals for the REST API.
Some cleanup in the traversal framework.

o AbstractTraverser, BiDirectionalTraverser and TraverserImpl are now reduced to
  DefaultTraverser and a Factory.
o TraversalDescriptionImpl is now called MonoDirectionalTraversalDescription, which
  differntiates it more clearly from BiDirectionalTraversalDescription.
o The hard dependency on mono directional sub-traverers for the bi-directional
  traverser is now asserted while the traverser is being built, which give a more
  helpful error message.
Merge pull request #1424 from apcj/2.0-ccheck-multi-pass

2.0 ccheck multi pass
Simpler generated version information.

Move the logic for generating version information out of the generated
code. Instead expose all the information from the generated code
explicitly and let the generic code take care of presenting it in a nice
format.
Fix bug in TxLog handling of null-bytes in log files
Refactor and clean up TxLog

There is still more that can be done, but hopefully it is now a little more readable and
in line with our house style. The parsing could for instance be split out into its own
class.
Merge pull request #1410 from systay/collection-out-of-counds

Coherent behavior for all collection slice and indexing operations.
Generate version information for all components.

Generates a ComponentVersion class for each jar. This will allow us to see in messages.log
if the versions for all jars match up.
Merge pull request #1416 from jakewins/deprecate-incorrect-packaged-things

Cleanup of internal classes that should not be publicly documented.
Organise imports.
Merge pull request #1427 from chrisvest/fix-tm-log-duplicates

Fix tm log duplicates
Update slices to truncate instead of returning null
Introduces Provider as a generic interface, similar to Factory but with less strict contract for what it returns. ThreadToStatementContextProvider is now a Provider of type Statement