add vim modelines to skeleton

Signed-off-by: Paul Morgan <jumanjiman@gmail.com>
Switch to Apache License, Version 2.0

I considered using GPLv3 or another copyleft license,
but I don't want people to be afraid to use this code
in their projects. In my opinion, somebody who finds
my code useful will probably contribute their changes
back to this project because doing so is usually in
the best interest of the contributor.

Signed-off-by: Paul Morgan <jumanjiman@gmail.com>
add CONTRIBUTING.md

* move contributing instructions here
* add lightweight contributor agreement

If a contributing doc exists in the repo,
Github links to it from a new Pull Request
and new issue form.

Signed-off-by: Paul Morgan <jumanjiman@gmail.com>
gemspec: update base data

after this commit, we can actually build a gem

Signed-off-by: Paul Morgan <jumanjiman@gmail.com>
Rakefile: use bundler to bootstrap clean environment

* use a clean environment when doing dev on this gem
* provide helpful instructions to somebody who is not a ruby expert

Signed-off-by: Paul Morgan <jumanjiman@gmail.com>
gemspec: add rspec dev dependencies

Runtime deps should not be as strict as dev deps since
this gem will be used as a dev dependency for other repos.
spec: add minimal spec_helper

This initial spec_helper:

* framework for requiring gems in every spec test
* show all spec failures in CI console output
* profile slowest examples in CI console output
* protect against any test that may add environment variables
rspec: mock with mocha

* add specific gems as dev dependencies
* configure rspec to use mocha
rspec: preserve env vars between tests

* Provide a shared context in library form
* Include the shared context in rspec configuration

In other projects, I sometimes set environment variables
within rspec examples. This shared context lets me throw
those away after a test runs.