Random Actor booleans together as flags

It's time to tidy up the Actor class to facilitate unit testing; one PR at a time.
This is a giant foot-gun: most of these properties are read-only to outside classes because things will break in weird ways if they are changed from anywhere else.