Sproc support for Oracle and SQL Server

Lots of changes here... but to summarize this PR provides the following, 

* Support for stored procedures
   * On oracle multiple OUT cursors are supported
   * Oracle packages, procedures and functions
   * Clob, Blobs and XML types are mapped to their .NET counterpart, this is achieved by simply finding and extracting the parameter value.
   * MARS sprocs on sql server    
* Support for scalar valued functions
* Because it some DB's oracle don't expose any information about the schema of the cursor returned the SqlEntity now has a `SqlEntity.MapTo<'a>()` function. This is pretty niave at the minute but works for Records and class types. Additionally, has some mapping conventions, underscores are removed and are matched on lower case strings.

* `MapTo<'a>` has an overload so you have tighter control over how individual properties are mapped. See the `SqlServerTests.fsx` or `Oracle.fsx` for an example. 

Support for other providers should be along the lines of a copy of one oracle or SqlServer I should imagine but I focused on these two first, MySql will be next. 

Cheers

Colin