refactor role into users recipe and developer recipe

### move dependencies into metadata.rb
When iterating a Cookbook the metadata.rb file should be the authoritative source for dependencies. It's always best to put all of your dependencies in there much like you would for your RubyGems in a gemspec file.

It's a good idea to use the Berksfile to overwrite the "location" of a Cookbook. It's also a good idea to put any development or test dependencies in the Berksfile which you wish your developers / testers to pull down but you do not want an end user to get. This is possible because end users will not resolve the Berksfile - they'll just resolve the metadata.rb of a dependency.

This is the same behavior of the Gemfile and Gemspec in Rubygems

### Add users recipe
This recipe contains all the logic it takes to begin managing users and also adds the 'pat' user. This should be able to be applied to any node BY ITSELF and perform just as well. We can accomplish this by ensuring that all of it's dependent recipes are called with `include_recipe` and we do not:
* rely on the state of our node before running chef-client. We don't want to just pass because somebody at one point accidentally installed the required packages
* rely on the run_list of our node before running chef-client. We don't want to give instructions to somebody to ensure that X, Y, and Z recipe are in the run_list before our recipe will work.

### Add developer recipe
This refactor is the same as when we added the users recipe. It just does the job of installing some developer resources for you.