Merge the defaults instead of overwrite them.

This is particularly important when connection specs include enough to
obtain a connection but not enough to create a c3p0 pool, i.e. when
the spec doesn't include an :options entry.
Only create a connection pool if the spec has the necessary data.

Otherwise, return the spec, as it could represent a DataSource that is
already pooled, possibly referenced by a JNDI name. We want to get the
benefits from the korma api for those kinds of connection specs as
well.

Also, we no longer assume a spec has a :pool entry, though we'll use
it if it does.
A test for a spec one might use within an app server
Merge pull request #86 from jcrossley3/other-specs

Let korma work with specs for existing datasources or JNDI references