Test that we can run it more than once and get the same result.
- Also some cleanup to keep things under 80 chars.
Make compatible with 1.8.7
Don't set default arguments because 1.8.7 doesn't like it.
- User either arguments.first in the case we pass something in after initial definition, args.first, if we passed something in at the time we hit method missing, and empty hash, in case nothing was defined.