Chip away at some more repeated code

make CommandActor actually take the command as a parameter. still highly repetative and much to do.
CommandActor: call stop before issuing new command

enables more removal of repeated code
Tweak GenerateAction methods to take a const char* and copy it

now that it copies the string itself we can eliminate a lot of duplicated code.
GameScript: make inheritable Canary class