Free bound parameters after Execute() is called

Previously the paremeters had the oppurtunity to be garbage collected
before Execute() was run because they were locally scoped in the bind()
function. Now we create CStrings and pass pointers to them to
OCIBindByPos and return these parameters to the caller to be free'd
after the Execute method is called and parameters used.

Also refactored nil type check to be part of the general type switch.

Signed-off-by: Sheena McCoy <sp.mccoy@modcloth.com>
Move freeing of the bound parameters into bind()

So that the callers don't need to know the details.
Merge remote-tracking branch 'origin/master' into free-bound-parameters-after-execute

Conflicts:
	oci8.go
Returning empty free function from bind if args are nil
Returning empty free function from bind if args are nil

Conflicts:
	oci8.go
Merge pull request #5 from modcloth/free-bound-parameters-after-execute

Free bound parameters after execute (Merge after #4)