Add missing license header
Add 'Install' service

Implements behavior of (not yet created) `chef install` command, but is
implemented as library code (ui object is DI'd, errors are raised as
exceptions, etc.) so it can be re-used outside of the chef-dk command
line.
Add 'Push' service

Implement behavior for (to-be-implemented) `chef push` command, which
pushes a policy lock to a Chef Server.
Add `chef install` command to compile Policyfiles
Report what cookbooks are uploaded via UI object
Report installation progress via InstallReport class
Add UI.null shortcut for null ui object
Add delegate method for installed? so collaborators can query it
Add delegate method for cookbook locks to check if they're installed
Add install report class for policyfile lock
Delegate progress ui to lower-level objects in service objects
Add banner and debug option to `install` command
Add `push` command
Update doc files for initial policyfile release
Cleanup TODOs that have been addressed or scheduled for later
Move UI out of Command namespace

UI is generally 'command' related, but is integrated deeply into library
code now (defaulting to "null" ui).
rm TODOs for path de-duplication.

Kicking this can down the road.
Add tests for install command
Add tests for `push` command
Remove uneeded memoization