FunctionExecutorContext in own file

Fix: Renamed the FunctionExecutorContainer to FunctionExecutorContext.
Add: The FunctionExecutorContext is now placed in its own file.
Publicly accessible FunctionExecutorContext invocation counter

Add: The invocation counter of a FunctionExecutor context is now publicly accessible through the consistent methods getInvocations() and resetInvocations().
Fix some renaming issues caused by FunctionExecutorContext

Fix: Rename old "container" variables storing a FunctionExecutorContext to "context".
Add function executor stack

Add: Function executors call the next executor by themselves through a FunctionInvocation object which handles that call chain. Function executors need to be slightly changed in order to meet the new invoke() siganture with the parameters "FunctionInvocation invocation, Object... arguments".
Add: Patch all function executors provided in Classmod's default implementation.
Remove: The ExecutorInvocationException no longer has subclasses. They are not needed anymore because function executors can control the invocation flow by themselves (stack invocation concept).
Fix: The Prioritized and Limit annotations for function executors have default values.
Standardize invocation counter for functions

Add: Every function implementation needs to provide an invocation counter for counting the amount of times the invoke() method is called.
Update changelog

Note: Add the latest additions and fixes to the changelog.
Add breaking note to the changelog

Add: A changelog note which tells you to update your function executors.
Merge branch 'feature/func-invocation-stack' into develop