Simplify api by removing executeScalar methods

The basic idea here is to use the standard `executeAndFetch` methods everywhere and remove the `executeScalar` methods.

To implement this, we simply check to see if the type the caller is asking for has a registered converter. So for example:

`executeAndFetchFirst(Time.class)` means we know they actually want a scalar because there is a registered converter for `Time.class`.

`executeAndFetchFirst(MyComplexObject.class)` means we know they actually want a object mapping because we have no way of generating the object from a single column.

This solves the problem brought up [here](https://github.com/aaberg/sql2o/issues/36) where an object may have a property with the same name as the first column. Everything is based off the type the user is asking for.

Any thoughts on this?