Throw UnsupportedOperationException from unimplemented Neo4jStatement methods

Fix for #17. Neo4jStatement should not fail silently when methods are called which are currently not supported.

I've added code that throws UOE from every method where it was obvious to me. There some methods I'm not sure about:
* execute(String, int)
* execute(String, int[])
* execute(String, String[])
* executeUpdate(String)
* executeUpdate(String, int)
* executeUpdate(String, int[])
* executeUpdate(String, String[])
* isWrapperFor(Class<?>)
* getMoreResults()
* getMoreResults(int)
* unwrap(Class<T>)

These methods contain logic, but they don't look correct to me. For example all the execute methods delegate to execute(String) and ignore any additional parameters.
The JavaDoc says: 

> Specifies that this Statement will be closed when all its dependent result sets are closed. If execution of the Statement does not produce any result sets, this method has no effect.

> **Note:** Multiple calls to closeOnCompletion do not toggle the effect on this Statement. However, a call to closeOnCompletion does effect both the subsequent execution of statements, and statements that currently have open, dependent, result sets.

So we would have to call close() on the Statement when close has been called on all result sets. I think this should be implemented in a different PR.