Oracle LINQ fixes.

Cope with union from members which use generated names.

TODO: Oracle driver is in dire need of a refactoring/rewrite. Probably with Relinq.
Brought back guard against empty commands.

While this should be handled in upper layer too, handle it here too.
Json serialization regression fix.

If exception is thrown during OnDeserialized, which is thrown as TargetInvocationException in Json.NET, throw actual inner exception instead.
More LINQ improvements.

Support for case when and .NET members navigation in subqueries.
Fixed support for single select in subqueries.

TODO: Plenty of issues remaining in drivers.