[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
Merge pull request #393 from jeeyoungk/jee.slotkey.refactor

Refactor SlotKeys to be a separate class