[square] fixing the NPE in the boolean properties
Merge pull request #396 from jeeyoungk/jee.fix.npe.on.bool.properties

[square] fixing the NPE in the boolean properties
[square] refactoring the SlotKey

Removed the string `slotKey` that is used throughout the code, and replaced it with a class.
[square] Removing unused functions.

Now that `SlotKey` class exists, a lot of functions within `Granularity`
can be removed. Removed the locator range functionality that isn't being
used anywhere in the production code.
[square] adding tests.
[square] doesn't need to be private
[square] actually de-schedule itself.
[square] Updating the license