Add classes for event-handling

The new classes Event and EventSource can be used as a simple mechanism
for implementing event-based callbacks in the simulators.
Replace old timestep completed event with new scheme
Remove dependency on Boost::Signals

The functionality has been replaced with equivalents from C++11.
Change from pass-by-value to pass-by-const-ref

The object is copied when put into the list, so there should be no
danger of dangling references.
Merge pull request #342 from rolk/342_signals

Provide event mechanism using C++11 instead of Boost::Signals