BlackboardClient no longer creates a new thread if nothing has changed
to the subscriptions list. Also added a null check when unsubscribing
to guard against situations where creating the thread has failed.
Written a generic SoftwareFactory that is able to create an object from
a specified description. It supports reloading of JAR files when the
remote version is updated to enable on the fly software updates.
Update comments.
Changed class and package names.
Bugfix: If creating a new thread fails in the subscribe method, the
added subscription will be removed.
Merge branch 'BlackboardClientDev' into development
Merge branch 'ServiceFactory' into development