Refactored localization stuff into a single class. Decided I didn't like those duplicate strings flying around all over the place.
Super-secret feature.
Fixed primaries being determined using the fuzzy component.list getter by adding a second parameter to list, `exact`, which will suppress fuzzy search.
This prevents the inventory controller upgrade to be returned for `component.inventory`, for example, and will only return it for `component.inventory_controller` now, as was originally intended.