Use more specific errors

`#enforce!` now throws an `NotFulfilledError` and `#present!` now raises `NotPresentError
Support blocks and rescuing specific errors for `#try`
Accept block for `#enforce`
Rework `#enforce` to accept a custom error

If the given error is not an error class, it gets returned
Take custom errors for `#present!`
Update Readme
Bump version
Minor fixes

lrn2brain
Add Rakefile