Rename TimerTask and related methods

Rename cancelTimer to cancelTimerTask to clarify usage.
There is already an actual Timer object named cancelTimer in Driver.
Also rename the killTimer() method in AbstractJdbc2Statement to killTimerTask() to clarify it's usage.
Change TimerTask methods to be called through the Connection

Change all references to addTimerTask(...) and purgeTimerTasks() to go through the Connection object.
This removes any direct references to the TimerTask related methods in Driver from the rest of the driver.
The new addTimerTask(...) and purgeTimerTask() methods in AbstractJdbc2Connection still use the shared static Timer in Driver.
Avoid classloader leak from dangling Timer thread

Previously, when the driver is loaded a static Timer is allocated in the Driver class itself.
That Timer is shared by any TimerTask that gets scheduled (ex: for Statement timeout handling).
If the driver is later unloaded (e.g. in a containerized environment) the Timer thread is never stopped.
Additionally, the Timer thread itself may maintain references to other driver classes that will never get unloaded.

The changed classes now use a SharedTimer that maintains a reference count of requests for Timer.
A Connection requests a Timer via the getTimer() method.
This increments a reference count to keep track of the number of outstanding references.
The Timer reference is marked as returned by calling releaseTimer() in Connection.close().
If there are no outstanding references left, the internal shared Timer object is closed so it's resources can be GCed.

Well behaved JDBC code that calls close() on all Connections should be able to unload the Driver without leaving dangling references.
Support for 64-bit (bigint) LOB functions
Added support for jdbc4 setBlob methods
Added support for jdbc4 Blob.getBinaryStream(long,long)
Added support for PreparedStatement#setBinaryStream(int, InputStream)
Added support for setObject with Types.BLOB and InputStream
All blob tests are deleting blobs on tearDown
add ?-contained operator support
add doc for ?-contained operator support
Constant for buffer in StreamWrapper renamed to MAX_MEMORY_BUFFER_BYTES
Restore but deprecate fastpath public api with original signature
Merge branch 'master' into LargeObjects

Conflicts:
	build.xml
All driver connection parameters are centralized in a single class (PGProperty)
Test that connection parameters are documented in pgjdbc.xml
Merge pull request #235 from alexismeneses/PGProperty

Connection parameters are enum constants
Thanks this is great!
Enhance connection fail-over with master/slave restriction and add load balancing of connections among multiple hosts. Based on work by chenhj@cn.fujitsu.com
Resolve the build error (#227)
Change the testing type from ltree to built-in geometry (#227)