optimizations meant to streamline location import

- use an in-memory cache of locations to do lookups
- don't validate against siblings for name conflicts