NGS.Core refactoring.

NGS.Core should not depend on outside projects.
Previously it had dependency on domain patterns.
Removed dependency by providing features through BCL types,
ie. IRepository<T>.Find available through Func<string[], T[]>
IObservable<T> instead of IDataChangeNotification
...

Since IRepository requires implementation to inherit from IIdentifiable,
few things are not ideal - must use Func<string, T> instead of repository for custom interfaces.
IRepository<custom interface> can't be resolved anymore (while this could work,
since we can know if custom interface implements IIdentifiable, in practice
custom code is not provided and we don't have enough knowledge about it.

Removed requirement for IIdentifiable on Track api for IDataChangeNotification.

Removed reference from Oracle in Revenj.Core since Oracle is causing problems with it's
32/64 bit versions. Leave it as is for now since Oracle can't be used as is from DSL Platform.

TODO: Func<string, T> should redirect to IDataCache for specialized types.
Not really a Revenj issue, but that feature is currently missing, which means that
security provider will hit DB as is - it should to be specialy initialized instead.
TODO: still missing nicer API for Track<T> Observable.