Allow a custom ExecutorService to be set for each pool

This allows for HikariCP to be used when a SecurityManager is in place, preventing/warning of the creation of threads not using the applications main ExecutorService. One such application is BungeeCord, you can see it's security manager [here](https://github.com/SpigotMC/BungeeCord/blob/master/proxy/src/main/java/net/md_5/bungee/BungeeSecurityManager.java). Currently it's only warning of the action.

I believe Android also has a similar limitation in place.

Users of the library may also want to change the ExecutorService so that they can reuse it throughout their project.