Initial Checkin.
First working version
Shortcutted setting the continuation for exceptions if there is no reason to

Hopefully, this is a speed gain.
Added a few more ideas to the plan.
A little code cleanup.
Removed the DSL and added more tests.
The DSL was awesome, but I wanted to focus on the core tech.
Added support for data being set on the restart at the time it is
created.
The restart now hides the continuation.
Changed the terminology from 'a restart' to 'a recovery'. I wanted
a word that could not both be a noun and a verb. This allows
me to change `#restart_invoke` to `#recover`
The restart now hides the continuation.
Fixed problem with a renamed method.
Added documentation.
Added the network credential example.
Renames `Mulligan::Exception` to `Mulligan::Condition`
Simplifies the "retry" recovery.
Adds some info to the plan.
Fleshes out the README considerably with explanations and use-cases.
Updated the read me to flesh out the initial example.
`#raise` returns both the recovery id and the return value of the recovery block

It now returns an array of the id of the chosen recovery followed by
the value of the recovery block.
Updated the READMe and gemspec