Add features for what the list feature should look like

This commit adds the cucumber features for what the user experience
should be like with the edge cases for `berks list`.
Add lockfile validations and synchronization checks
Support --only and --except for `berks list`
Add a presence checker for the lockfile

The presence checker determines if the lockfile exists on disk. A 
lockfile will always exist in memory, but we need a way to make sure
one exists on disk.
Define custom lockfile errors
Add features for what the outdated feature should look like

This commit adds the cucumber features for what the user experience
should be like with the edge cases for `berks outdated`.
Perform lockfile validations on outdated