Keep scripts ChefSpec tests DRY
Clean up scripts recipe for readability

A little whitespace goes a long way
DRY up integration tests for template-generated scripts

No need to repeat so much; we can add one additional test for just the
different content & adjust the array values for the script filenames.

Less is more!
Update upload_creds data bag structure to reflect reality

Now that I've actually modified this data bag item, I can structure this
load to reflect the actual structure of the hash
Rubocop cleanup: single quotes, whitespace
Rubocop cleanup: use Ruby 1.9 hash syntax
Rubocop cleanup: Prefer %w() for arrays of words

Usernames will always be valid words in Ruby
Rubocop cleanup: use fail instead of raise to signal exceptions

As per the Ruby Style Guide:
https://github.com/bbatsov/ruby-style-guide#exceptions
Rubocop cleanup: Use snake_case instead of lowerCamelCase
Rubocop cleanup: Favor modifier if/unless usage for single-line body
Rubocop cleanup: Favor unless over if for negative conditions
Rubocop cleanup: Indent `when` as deep as `case`
Add encrypted data bag items api_keys & aws_credentials for testing
Refactor ChefSpec data bag stubbing to be more generic
Refactor & DRY up ChefSpec tests
Use correct data bag item name in scripts recipe
Add ChefSpec stubbing for additional data bag items
Fix regression w/ ChefSpec tests for scripts
Switch to using environment named "test" instead of "stage"