Refactor the metabook-repair code.

Pull code out of the CLI and create a new module for metabook-creation
and metabook-repair code.  Input metabook files don't necessarily
have to include the filerepo clauses (for instance); we will always
fetch those if missing.

This commit will help us pull the status reporting code out of the
CLI in the next patch set.

Change-Id: If3e2308ab3b3fab2294bcbe53371d94710a30cca
Improve status reporting.

Add more granular status reporting; refactor the 'status' module.

Change-Id: Ie1132121e5bfc28bbfe9867e974955b90a9bf36e
Specify default collection language in the metabook file.

The default collection language governs the language used for page numbers,
chapter headings, etc.

Change-Id: Iae02ed4680de5a5fb4c1782c3dfc0225b738ed84