Move connection pooler to its own directory

Split connection pooler code to the various classes that depends on. Provide different code files for each of the provided classes.