Data context, missing signatures and minor fixes.

IDataContext as unified access to data. It uses cache if available.
Added signature for data which can be queried: IDataSource
Signature for history: IObjectHistory

LINQ subqueries order by fix. Missing order by clause added to Postgres/Oracle visitors.
LINQ constant enum fix. It seems that C# replaces enum constant inside LINQ expression with integer value.
Since this fails in database, it must be detected and converted to enum.
Added one such use-case. (nullable enum works fine)

Check for IDataSource added to server commands. This provides better error message if someone tries to query a value.