leader_watcher: created a base leader watcher to elect the master node
leader_watcher: added a leader watcher name instead of boolean check
replaced @watchers class variable with WATCHERS module variable to eliminate coupling between LeaderWatcherFactory class and the concrete classes that implement BaseWatcher
minor changes, updated the implementation of elect method
renamed leader_watcher parameter from 'name' to 'type' to avoid misleading
Merge pull request #11 from dubizzle/leader_watcher

leader_watcher: created a base leader watcher to elect the master node