Removed Misplaced Profile Serializability Check

Removed: The ProfileSerializer class will no longer check for serializability on a world object.
Increased Performance of AbstractFunction

Fixed: The AbstractFunction class no longer calculates the relevant executors on every invokation. The set is now created on initialization.
Fixed AbstractFunctionInheritanceTest & Some Comment Issues

Fixed: The AbstractFunctionInheritanceTest now works properly.
Fixed: Resolved some comment and JavaDoc issues.
Removed getExecutors() from FunctionDefinition

Removed: FunctionDefinitions no longer require a getExecutors() method. Users shouldn't be able to influence "random" executors.
Moved Inheritance Resolving into FunctionDefinition

Added: Inheritance Resolving (filtering which executors should be used in a function) is now located in the AbstractFunctionDefinition implementation.
Fixed: The AbstractFunctionDefinition's executor naming system now works properly.
Small Style Fixes

Fixed: The FunctionExecutor class now has better JavaDoc on the invoke() method.
Fixed: The order of imports in the AbstractFunctionDefinition class.
Replaced TickFeature with More FunctionExecutor Invokation Limits

Removed: The old TickFeature for running update tasks on tick updates.
Added: More annotations for FunctionExecutors which replace the functions of the old TickFeature. Delay limits when the executor is invoked using firstDelay (old: delay) and delay (old: period). Limit limits the complete number of invokations an executor does before it blocks.