Make assets watchers run as singletons

Previously, multiple copies of the watchers started from the different
shells would run simultaneously, which left the possiblity of zombie
watchers, increased resource consumption, and incorrect results. This
fixes that problem by only starting a watcher if that same command isn't
already in the process list.

Fixes LMS-499

@chrisndodge @cahrens: Can you guys review and test this? It should allow you to run lms and cms together more stably (although there are still other issues that may cause problems).

Depends on #185