Tidy XML serializer & serializer code
Make random number generator readonly
Implement transactions and minor refactoring

Make Initialise and Process transactional in both Region and State
(closes #2).
Moved public Initialise from Vertex to State as it should not be called
from any Vertex.
Moved IsActive from StateMachineBase to StateBase and Region as a
PseudoState cannot be left active.