Initial pass at heartbeat, still failing tests
Rejigger heartbeat data to be a stable hash, not a time-based sorted set.
Update Web UI, add new Busy tab with process heartbeat and job info
Remove "Clear worker list" button, yay!
friggin 1.9
merge master
Rework process/worker data model.

We no longer have a global 'workers' set but rather a global 'processes' set.  Each process has its own workers hash, keyed by thread id.

Rely as much as possible on Redis key expiration to naturally prune any lingering data.  Process data only has a one minute TTL, with the heartbeat refreshing the TTL, so it will expire quickly after a process dies.
Rename 'at' to 'beat' since it represents the time of last heartbeat, fix spec.
Remove global 'busy' counter, too easy to skew in the face of crashy processes
Update busy UI with latest changes
Fix busy counter in UI, update changes
Fix specs
Merge pull request #1525 from mperham/heartbeat

Implement a process heartbeat