Extract Table Printing Logic

Moves repeated table print logic into a class. Also moves the report classes for policyfile install and upload to their own part of the file hierarchy (and namespace), and adds tests for them.

/cc @opscode/client-engineers 
This may be personal preference, but when printing tables I think a tab (two spaces) between columns makes it more readable.  Otherwise the row with the longest values in each column starts to read like a sentence.