Add chefspec coverage

I wanted to bump the version of Ruby to what I'm currently using on my project and in doing so refactored a bunch of the code to take advantage of some of Chef's neatness (like `remote_file`).

I also added in Chefspec coverage, where possible.