Add javadocs for variable watching.

Specifies that variable names must be upper cased.
Remove variable watcher lists from the variable watcher map when they're empty.

This makes it so that the variable watcher map will be properly removed when there are no watchers.