Merge pull request #13 from kmeze/master

CreationTime refactoring
Removed backing fields for properties in object model.
Also removed default values of ShortString (empty string) and ID (NewGuid) fields.
Every use of backing fields was a potential bug: NHibernate proxies ignored default setter and getter methods so default property values sometimes caused mismatch between a property and the corresponding field.
Bugfix: Recursive updates with KeepSynchronized could cause infinite loop even if there is nothing to update.
New concept: DenyUserEdit, for a property that may only be changed by the server, not by a client Save request.
It should be used rarely, since mixing editable and non-editable properties in the same entity is not the best design.
DenyUserEdit is based on checkUserPermissions parameter of repositories' Save function, that is intended to be used for advanced permissions (row, column permissions and other).
Merge branch 'master' of https://github.com/kmeze/Rhetos

Conflicts:
	CommonConcepts/CommonConceptsTest/CommonConcepts.Test/CommonConcepts.Test.csproj
	CommonConcepts/CommonConceptsTest/DslScripts/SimpleBusinessLogicTest.rhe
Refactored SystemRequired concept:
Using KeepSynchronized on SystemRequired property would cause an error because KeepSynchronized computes the property value after it is inserted to the database.