GetDataContext with runtime resolution path.

This allows the runtime context to use a different resoultion path to
the development context used in the type provider.
Merge pull request #54 from Frassle/ContextCtor

GetDataContext with runtime resolution path.
Support for REGEXP in MySql.

No changes to the providers so any that do not support REGEXP will
probably throw an exception upon the server reciving the command.
Fix for MySql array paramters.

MySql doesn't seem to work with Array parameters. So instead we create a
parameter per array index and pass in the array objects.
Use SeqValues instead of NewArrayExpression.

This matches any valid sequence not just new array expressions.
Changes for MonoDevelop.
Add locks to GetColumns.

In relation to issue #52. Adding locks to the GetColumn calls that are
used to preload the columns seems to solve the immediate thread safety
issues I was hitting.