pkg2 refactor into submodules: Types, Read, Query, Write.

Types – data types required by other modules with basic functionality
Read  – functions read the state of a .julia repo (read-only)
Query – purely functional methods to transform info about .julia repos
Write – transactional functions to update the state of a .julia repo

The top-level ties it all together and provides a nice, usable interface
that makes sure you're in the right directory, etc.