Fixes #14:
A single-threaded approach is now used for the execution of a model. This way concurrent modification of plugin data is impossible

In case of a hanging model (due to hanging I/O call,...) a fallback thread is used to still be able to stop a hanging model. This way the ARE keeps sane and can still be used to execute other models afterwards.

Three properties were introduced (Can be configured in areProperties):
#Determines size of model executor thread pool. If 0 or 1, the single-threaded approach is used. If > 1 the multi-threaded approach is used with a pool of the given size.
ThreadPool.ModelExecutor.size=0
#The size of the thread pool for other tasks like CIM communication. This pool is used by many plugin to perform some "parallel" tasks
ThreadPool.OtherTasks.size=10
#Maximum time in milliseconds to wait until a blocked execution in the model executor thread is timed out.
ThreadPoolTasks.submitTimeout=7000
Merge branch 'master' of https://github.com/asterics/AsTeRICS