More float/double parsing fix in Postgres.

Since float/double value can be NaN, converters can't assume that N stands for NULL.
Check additional character for correct value.

While this is not really safest code - it would be better to read value in whole and use that for decision,
currently because of performance it's assumed that values returned from Postgres are correct.
More Postgres parsing fixes/changes.

If value is missing in date/timestamptz use DateTime.MinValue instead of Today/Now.
Fixed issue when parsing collection of non-nullable timestamptz collection.

While the issue remains when parsing missing value which is expected in nested value objects,
at least now objects will not be volatile.
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.
Memory/performance optimizations, LINQ fixes.

Reuse existing stream reader/writer instead of creating new instances.
Initialize reader/writer eagerly since ChunkedMemoryStream is pooled.

Added brackets around coalesce since it can be used as an object.
Optimizations with array for loops instead of foreach loops.

Changed bytea escaping to match Postgres when empty bytea
Minor fixes and improvements.

IAuthentication signature changed to support variety of auth methods without changing it's signature.
Forced Postgres plugin loading in Core project - it seems that sometimes DLL is beeing ignored at component scan, probably due to assembly ordering.
Support for Hash authentication - similar as Basic, but provided hash of the password instead of the actual password.
LINQ and validation improvements.

Fixed LINQ use case where Take and SingleOrDefault were combined.
While SingleOrDefault LIMITS total results to 2, this can be overriden with Take(1).
Inspected limits for this edge case.

Since IValidation<T> can be used in repositories, added appropriate method CanPersist
and improved signature to limit it's use.
While validation can be used on entities and values too, it's not supported by this interface.
Bugfix in Postgres driver.

Fix for \ escaping.
Npgsql was using escaping rules for old E Postgres syntax.
Repository helper renames.

Renamed FindAll to Query since it returnes IQueryable and doesn't do lookup as Find.
Renamed SearchAll to Search to reduce different API names.
Fixed connection closing and RestApplication.svc in Mono.