Track proxy state with an enum instead of flags

This will make new checks easier to implement, such as read-only
connection checks in issue #10.
Support Java 8 Statement large methods

Specifically, executeLargeBatch and executeLargeUpdate.  Note that
this commit retains compatibility with Java 6.  Closes #14.