New concept SystemRequired.
Bugfix:
Constraint name was not unique.
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.
Renames default name of the IValidationConcept.CheckSemantics() argument, to match IMacroConcept.CreateNewConcepts().
Enabled use of UseExecitionContext concept on Action.
Minor improvements in MinLength, MinValue, MaxLength and MaxValue:
Better handling of null values. Allowed application of the concepts to derived property types.
Minor design improvements:
Redundant exception handler in Save function caused problems with debugging (wrong line number reported).
ItemFilter parameter may be any existing or auto-created data structure.
TestUtility.ShouldFail text matching includes UserException.SystemMessage
Better formatting of the generated source.
Fixed unit test after change in Save function error hangling.
NHibernate session must not be used after an error.
Bugfix: LongString and Binary properties were limited to 8000 bytes.
Default NHibernate configuration limit is now overridden for each property.
New concept: DenyUserEdit on data structure,
for entities with hard-coded system data.
Computed data structure is now available through REST interface.
Refactoring of History concept: FullHistory implementation changed to SqlQueryable instead of generated view+legacy entity, so that other concepts may use the SqlQueryable with SqlDependsOn.
Simplified use of Tag class with Tag2 and CsTag.
Massive replace of old Tag<> class with the new design.
Better plugins registration and resolving:
Improved handling of component lifetime scope in PluginsContainer: The plugins will be instanced in the scope of a client request (needed for separate transactions for each command).
Refactored registration of plugins and modules (PluginsUtility) to allow later registration of newly generated plugins in DeployPackages.