Always start with a clean test directory.

o We previously had tests cleaning out their test directory or not
  seemingly at random. In most cases it's fine to start with a clean
  directory, which simplifies things.

o We have a few cases which genuninely need to get hold of the test
  directory without cleaning it out. Most of these are part-way through
  a test where we need to start a database running against an existing
  store.

o The interface of TestDirectory has been changed to get rid of boolean
  flags and have intention-revealling method names instead.
Merge commit 'e4879ee' into 2.0-merge-1.9

Conflicts:
	advanced/server-advanced/src/test/java/org/neo4j/server/advanced/BootstrapperTest.java
	community/kernel/src/test/java/org/neo4j/kernel/impl/transaction/TxManagerTest.java
	community/server/src/test/java/org/neo4j/server/web/logging/HTTPLoggingDocIT.java