Made sure FileSystemAbstraction is used in the places where the file system is accessed.
There are still a few places where java.io.File is used directly, but I believe those to be ok.

Most notably, FileSystemAbstraction is now used by IdGenerators.

Also fixed some minor issues with EphemeralFileSystemAbstraction in order to use it with IdGenerators:
o EphemeralFileChannel.read(ByteBuffer) now follows the contract of ReadableByteChannel.
o tryLock() uses internal locking code directly now, to avoid leaking to the actual FS.
Refactored EphemeralFileSystemAbstraction.

o Broke apart the data of the file from the FileChannel implementation.
o Removed a bunch of unused code.

This was required in order to make it possible to close() a re-opened file,
which was required in order to make releasing of file locks on close() work as expected.

All in all this means that a GraphDatabase that uses an EphemeralFileSystem can now be restarted.
Fix for an issue where store files could be closed with id generators in a bad state, leading to truncation of much of the store file.
Also includes some improvements to test infrastructure in order to properly test this scenario.
Merge pull request #327 from thobe/master

Fixes truncating issue when store is closed with idGenerator in bad state
Added autocoloring support for nodes and relationships.
Introduced a simplified style without node title/id.
AsciiDocHelper now defaults to autocolored releationships and to not show node ids.
Updated some examples to still show node ids, but this should better be avoided.
Made rest docs default to include node ids.
The new AsciiDocSimpleStyle class contains factory methods to configure coloring.
Made createGraphViz take a GraphStyle as a parameter. Minor refactoring.
Changing path construction in test case to work on windows.
Tracked down and fixed a file that wasn't closed.
Implemented GraphDatabaseFactory+GraphDatabaseBuilder+settings, and used them everywhere
Merge branch 'master' of github.com:neo4j/community

Conflicts:
	kernel/src/main/java/org/neo4j/kernel/AbstractGraphDatabase.java
	kernel/src/main/java/org/neo4j/kernel/Config.java
	kernel/src/main/java/org/neo4j/kernel/impl/batchinsert/BatchInserterImpl.java
	kernel/src/main/java/org/neo4j/kernel/impl/nioneo/store/AbstractStore.java
	kernel/src/main/java/org/neo4j/kernel/impl/nioneo/store/NeoStore.java
	kernel/src/main/java/org/neo4j/kernel/impl/nioneo/store/StoreFactory.java
	kernel/src/main/java/org/neo4j/kernel/impl/nioneo/xa/NeoStoreXaDataSource.java
	kernel/src/test/java/org/neo4j/kernel/impl/nioneo/store/StoreVersionTest.java
	kernel/src/test/java/org/neo4j/kernel/impl/nioneo/store/TestIdGenerator.java
	kernel/src/test/java/org/neo4j/kernel/impl/nioneo/store/TestNeoStore.java
	kernel/src/test/java/org/neo4j/kernel/impl/nioneo/store/TestXa.java
Merge remote-tracking branch 'origin/master'

Conflicts:
	cypher/src/test/scala/org/neo4j/cypher/docgen/DocumentingTestBase.scala
	kernel/src/main/java/org/neo4j/graphdb/factory/Default.java
	kernel/src/main/java/org/neo4j/graphdb/factory/GraphDatabaseFactory.java
	kernel/src/main/java/org/neo4j/graphdb/factory/GraphDatabaseSetting.java
	kernel/src/test/java/org/neo4j/kernel/TestKernelExtension.java