Added a failing `over` combinator for `Prism`s.

The default behavior for `over` applied to Prisms, to act as `id` if the
prismatic mapping fails, is concerning since it consumes a failure. The
new combinator, `overM` uses `isn't` to fail the computation when the
prism does. I don't think this is a general function, but I can't think
how to observe the failure in `over prism` any other way.
Failable `tryOver` for `Prism`s and `Traversals`

a.k.a. `(%%~?)`

The default behavior for over applied to Prisms, to act as id if the
prismatic mapping fails, is concerning since it consumes a failure.
Originally a failing `over` combinator was defined in terms of `over`
and `isn't`, but a more general combinator can be defined over
`Traversal`s using `%%~` and `Any`.
Extra note on  documentation.
Merge pull request #282 from tel/dev-overm-prism

Added a failing `over` combinator for `Prism`s.