Moved the Persistent Annotation & Feature to .mocl.base

Fixed: The stuff related to the persistent annotation is now located in the .mocl.base package.
Created getExecutableExecutors() Method in AbstractFunction

Added: There's now a getExecutableExecutors() method in the abstract function class. It collects the function executors which can be invoked and can be overriden to change which executors should be executed.
Fixed: Some bugs related to the abstract function class.
Fixed the AbstractFunctionPriorityTest

Fixed: The abstract function priority test now uses Void as the return types instead of Object.
Added Lockable

Added: There's now the possibility to create lockable function executors. Functions and FeatureHolders (basically every class which implements LockableClass) can be locked. Locked functions wont invoke lockable executors.
Added: The Lockable annotation which can be used at the invoke() method of a function executor.
Added: The LockableFE(FunctionExecutor)Wrapper for making normal function executors lockable.
Fixed some Small Bugs

Fixed: The matcher used by the collection property accessor factory now works correctly.
Fixed: The default feature holder can now toString() empty holders.
Style Fixes

Fixed: Resolved some style issues.
Fixed a Critical equals() Bug in ObjectProperty

Fixed: The hashCode() and equals() methods of the ObjectProperty class now work correctly. They always produced outputs ignoring the ones from the superclass AbstractFeature, causing the name of the object also being ignored. That caused a critical bug because all ObjectProperties without an object (object == null) were similar. That bugged out the feature storage set in the DefaultFeatureHolder.
Fixed License Headers

Fixed: All MoCl sources now have the required license headers.