Shell: execute commands from stdin if supplied filename is '-'.
Shell: fix potential resource leak, remove unused bit.
Adds optional NodeRangeScanSupport interface and implements it for the lucene scan store

This interface will allow the consistency checker to scan the label scan store in one pass instead of
having to do one pass per label.

Also removes SingleNodeDocumentLabelScanStorageStrategy (which is not used any more)
Make BufferingLogger Thread-Safe

 * BufferingLogger wasn't thread-safe and caused TestKernelPanic to be flaky,
   as it could occasionally throw ConcurrentModificationException from the
   underlying ArrayList.
 * Also fixed a data-race bug in TestKernelPanic, where registerization of the
   Panic.panic field could prevent us from observing correct behaviour.
Fix warning in CypherException
Remove extraneous println's
Fix type check for length("string") in cypher
Add size(['a', 'collection']) funtion to Cypher
Use correct type for possibleStartPoints in VarLengthRels
Make PathType a fully-fledged type
Disallow the use of a Path as a Collection
Remove Nullable
Shell: make test for reading from stdin more robust, polish.
Shell: set encoding for reading from stdin.
Kernel: add test for Args class parsing an option with a dash as value.
Kernel: make operator precedence explicit for better readibility.
Shell: update manpage for reading from stdin.
Propagate nulls through math funcs in cypher
Remove unused LabelType
Add additional type checks