Bonus RSpec improvements (including parallel_test)

Fast tests are good, right?

I made a few changes so that you can run either:
`bundle exec rspec`: Run tests sequentially
`bundle exec parallel_rspec spec/`: Run tests in parallel

On my machine, I'm getting < 20 seconds for parallel_rspec, and > 1 minute for normal rspec. I left the travis build as the normal (sequential) rspec for maximum stability and readability.

The only changes required for parallel testing was to use separate tmp and examples folder for each test thread.

I also fixed:
- The custom failure messages for the rspec matchers - it seems like rspec doesn't like when you nest the `failure_message` block inside the `match` block. I moved it outside the block (but still inside the `:define`) so the custom messages work.
- Removed the after blocks that were causing the annoying rspec warning. It didn't affect the test results, so it was either dead code or just for debugging.