Add "rpm" command, for doing rpm/yum queries on commits.

 It currently has the following sub-commands:

diff COMMIT COMMIT
 for rpmtree diff.
list [prefix...] COMMIT...
 for "yum list" like command.
version COMMIT...
 for "yum version" like command.

...bunch of FIXME's, UI output isn't great, needs docs.
 We also don't use the same code as the treediff on upgrade atm.
Namespace and share DEFINE_TRIVIAL_CLEANUP_FUNC via. rpmostree-util.h
Add two column output for rpm list/diff, to look more like yum list.
 Move from using user commit name, to found commit checksum.

 We don't want dirs. for branch names etc. so always use the checksum.
Don't leak subtree when /usr/lib/rpm doesn't exist.
Fix 64bit problem when int != gsize to printf.
 Allow sequence REFSPECs for version/list.

 API probably needs to move to ostree library. Allows us to get a "list"
of REFSPECs, Eg.

"<newest>..<oldest>"

...as a REFSPEC will turn into a list of all the commits, inclusive.
Use ostree_commit_get_parent in ost_get_prev_commit.
 Fix the error paths for ost_get_commit_hashes.

 Simplyfy the code.
 Stop leaking parent/beg_commit.
 Give a real error when a user specified range is bad, and thus. insta.
 fail from callers.
Give the user a nice rpm init failure message.
rpm: automatically turn fsync off when using mkdtemp dirs.
Add rpm man page entries.
Fix pkg_yumdb_strdup leaking error, and returning NULL.
Split diff into algo./print functions.
rpm: Add --format=block mode format for diff command.
rpm: Add changelog entries to block diff. output

Diff. output in block mode is now very similar to repodiff.
rpm: Change default diff format to block, from diff
Merge remote-tracking branch 'james/master'