Locations for everyone

This exposes locations as a separate thing from CommTrack. Actual locations are still really only useful if you have CommTrack turned on, but this is step one of getting Sheels monster feature out.
is there a reason that `view` and `fetch_class` are arguments when they're always the same? no big deal but making it explicit would make the code a little more readable.