Created the FSMBehaviour (finite state machine)

This is an abstract behaviour that is extended by all the other ones.
Also changed the ContractNet protocols to use this. The FMSBehaviour
contains an interface for the state machine, as well as the
implementation of the action().