Merge pull request #74 from colinbull/master

Fixes for #71
complete re-write of the projection analysis and transformation. Removed visitor and replaced with recursive call.  This should support any F# expression, and will make it easier when we need to do fancier things with the projection in the future

Fixes #75

Note this has not been extensively tested yet but it appears to work :D
fixes for #77
additional fix for #77
fix guids not working in individuals - regression caused by an Oracle special case.
Added another layer of provided types into the stored procedures, and made the parameter / result type generation lazily evaluated.  It was doing this all up front before which was crazy with a huge amount of stored procs.
Note this is a breaking change if you used stored procs - you will need to ajust your code a little.
Also fixed a bug that was causing sprocs that  take no parameters to not appear - although it is not fixed very nicely, but that stuff all needs re-writing properly anyway at some point!
temporary fix for broken sproc parameters - we cannot quote option types in TPs :(
Merged upstream