Added 404 handling to checkIfDbExists. This fixes #159.
Added missing RestTemplate.put(String path, ResponseCallback<T> callback).
Added createDatabaseIfNotExists(..) methods to CouchDbInstance.

Returns true if database was created and false if database already exists.

Using this method in createDatabase(DbPath) to get rid of the checkIfDbExists call. This prevents a race condition that could happen if the database was created by someone else between the checkIfDbExists call and the restTemplate.put call.
Use new CouchDbInstance.createDatabaseIfNotExists method instead of two separate calls.

This prevents a similar race condition.
Changed mocking to new behavior.
Merge pull request #186 from huxi/159fix

Fixes #159 and some race conditions.