few small fixes
Revert change to command cycle in db99ad382b, replace with alternate solution

Patch has unintended consequences and during integration it became apparent
alot of commands were deadlocking / failing.

Added a attribute to track when a command was initially created/added to registry
(always automatically set). Also on command cycle completion add the command's
json copy that was executed to registry instead of trying to update registry
command (will share the same id and added_to time)

In check_command, save command with latest added_to time or if multiple commands
share this, the last command added to registry
small fix to broken spec
fix specs broken by 1176b2f8
flush out some missing specs
flush out some missing specs
fix broken site tests
flush out more tests
flush out more tests
flush out more tests
flush out tests for rendered components in ui
flush out more specs
flushing out more tests
flush out more tests
Even more tests

This fix should finish rounding out the majority of the spec suite.
There are about 97 tests that are current stubbed out inbetween
the spec and the site/tests dir, mostly dealing with:

- server side attributes
- server side status methods
- ruby client interface operations (and bot operations)
- various random / small operations / edge cases

There may be a few other things in the codebase for which tests
haven't been implemented or stubbed out yet but I consider those
to be bugs to be resolved as they are discovered.

With this commit all of the required / critical / core functionality
of the app and clients should have unit tests.