Adds CleanupService for auto-closing ResourceIterators on GC.

o Adds AutoCleanupResourceIterator to be used by the core API
o IndexNotOnlineException caus we gonna need it next
o Neo4jJobScheduler now uses daemon threads
Hooks in CleanupService for all ResourceIterators

o Ensures that IAGD dependency resolver only performs correct casts
o Javadocs for ResourceIter*
o Makes Node.getLabels return a ResourceIterable
o Makes IndexHits ResourceIter*
Add exception when user tries to do shortest path without START in cypher.

o A temporary guide for the user, until we support shortest path without a start clause.
Documents ResourceIterator.close() in the core API tutorial & related fixes

o Adds close() example to schema indexing tutorial
o Adds note on how to handle ResouceIter*
o Fix: Makes ROProxy use ResourceIter*
o Fix: Makes ha/lock/LockableNode use ResourceIter*
Added missing license header
Fixed issues around migration

 - New store files created during update gets moved over after upgrade
 - No more lazy creation of schema/nodeLabel stores, since we've got
   proper migration
 - Upgrade progress indication flushes the log

co-author: Stefan Plantikow
Merge pull request #671 from boggle/close-index-readers

Close index readers
Flushes index population progress and status
Imports
Merge pull request #675 from tinwelint/migration-acceptance

Fixed issues around migration
Fixed incorrect version string in splash screen
Work in progress
First working test
Add string literals in return
Add NODE(*) matching
Add result col renaming and number results
format
Allow inference of Rule0
Add index lookups and queries
Split parser into multiple traits