Don't allow a period (.) as a range specifier. Really we should reserve
periods as chain specifiers, and allow either _ or : as range
specifiers.
Added a match(String) method, and added some argument checks.
Made AtomPositionMap constructor take a GroupMatcher, which is a new
callback inner interface.
Made getStructureForScopDomain correctly handle ligands in multi-chain
domains. Also introduced a test for AtomCache.