Apps can hook in their own locator.

Move only resctriction to locator.

Memoize default locator. Privatize class methods properly.

Make app name validating public.

Use app validation on GlobalID.

Normalize app names when reading or setting locators.
Merge pull request #15 from kaspth/app-locater

Apps can hook in their own locator.
[Refactoring] Use AS dasherize instead of gsub