Rebased2 fix replay

Replaces #147 as that won't merge because a recent commit (using QPointer for Host class now) touches one file too close to a change one of these commits does.  This also incorporates a couple of suggestions from others that  I've taken on board.

It feels a little like I'm playing "pin the tail on the donkey" _- except the donkey is alive and moving around_
Aaargh - Travis is barfing on these two lines - what is the best way to fix:
```
In file loaded from ActionUnit.cpp:29:0:
TConsole.h:288:39: error: a brace-enclosed initializer is not allowed here before '{' token.
TConsole.h:288:58: sorry, unimplemented: non-static data member initializers
TConsole.h:288:58: error: in-class initialization of static data member 'replayMagic' of non-literal type
TConsole.h:289:41: sorry, unimplemented: non-static data member initializers
make: *** [ActionUnit.o] Error 1
make: *** waiting for unfinished jobs....
```