scripting: protect FSM execution and tracing against self-deactivation

Signed-off-by: Ruben Smits <ruben.smits@intermodalics.eu>
rtt: do not invoke user callbacks or trigger the component if the component is not running

This commit fixes issue https://github.com/orocos-toolchain/rtt/issues/61.
Additionally, a new dataOnPortHook() is introduced that can be overwritten by the user to influence
whether the component is triggered or not.

Signed-off-by: Johannes Meyer <johannes@intermodalics.eu>
rtt: moved isRunning() check from TaskContext::dataOnPort() to default TaskContext::dataOnPortHook()

This allows the user to decide in an overwritten dataOnPortHook() implementation whether the user callbacks
should be enqueued or not, indepedent of whether the component is running or not. Note that the callbacks are
not executed until the component is started unless #70 is merged.

See https://github.com/orocos-toolchain/rtt/commit/d03c66b69912714b851818d471beb3282f19bad3#commitcomment-8247917.

Signed-off-by: Johannes Meyer <johannes@intermodalics.eu>
taskcontext: also clear service requester in TaskContext::clear()

Signed-off-by: Johannes Meyer <johannes@intermodalics.eu>
Added an Activity(int scheduler, int priority, ...) constructor

Otherwise, the contructor call `Activity(ORO_SCHED_RT, os::HighestPriority)` would interpret the second
argument as a double period time and ORO_SCHED_RT as a priority, which can lead to very strange and unforeseen
results.

Signed-off-by: Johannes Meyer <johannes@intermodalics.eu>
Merge pull request #71 from meyerj/slave-activity-fixes

Finally fixing the SlaveActivity message processing
types: added assignment operators to RTT::types::carray to assign from boost::serialization::array and boost::array

The `boost::array` operator is required to assign an array data source from a `boost::array`, e.g. a fixed-sized
field of a ROS message. The `boost::serialization::array` assignment operator was added for completeness as carray also
has a `boost::serialization::array` constructor.

The value type of the RHS of the assignment may differ from the value type of the carray as long as the elements are assignable.

Signed-off-by: Johannes Meyer <johannes@intermodalics.eu>
Merge remote-tracking branch 'origin/self-deactivating-fsm'

Conflicts:
	tests/state_test.cpp
Merge remote-tracking branch 'origin/fix-61'
Merge pull request #73 from meyerj/taskcontext-clear-service-requester

Clear service requester in TaskContext::clear()
Merge pull request #74 from meyerj/new-activity-constructor

Added a new Activity constructor
Merge pull request #75 from meyerj/carray-assignment-operators

types: added assignment operators to RTT::types::carray to assign from boost::serialization::array and boost::array
scripting: first check if we are still loaded before we try to remove ourselves

Signed-off-by: Ruben Smits <ruben.smits@intermodalics.eu>
scripting: disable events in StateMachine::deactivate() and add mutex protection to StateMachine::activate()

Signed-off-by: Johannes Meyer <johannes@intermodalics.eu>
Merge remote-tracking branch 'origin/toolchain-2.8'