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.
Renamed `tryOver` to `failover`.

* Moved `failover` to Control.Lens.Traversal.
* Removed `(%%~?)` as it doesn't fit the surrounding operator patterns.
More strict conversions
Control.Lens.Traversal: fix doctest for failover
Control.Lens.Iso: {di,l,r}mapping for Profunctors
Control.Lens.Iso.contramapping ∷ Contravariant f ⇒ Iso s t a b -> Iso (f a) (f b) (f s) (f t)
Control.Lens.Iso: use withIso in favour of runIso
Control.Lens.Iso: inline and remove runIso into withIso; unsafeCoerce--
scripts/stats: unsafeCoerces: … | doctests: … | operators: … | modules: …
scripts/stats: unsafeCoerces should include #. and .#
scripts/stats: include let … in … doctests, and fudge type operators
FunctorWithIndex () Maybe, FoldableWithIndex () Maybe, TraversableWithIndex () Maybe instances.
Only import functions from windows.h when building on Windows.

Prevents build failures like

    Linking dist-ghc/build/doctests/doctests ...
    dist-ghc/build/doctests/doctests-tmp/Main.o: In function `s5aC_info':
    (.text+0xb7): undefined reference to `SetConsoleCP'
    dist-ghc/build/doctests/doctests-tmp/Main.o: In function `r57z_info':
    (.text+0x1c6): undefined reference to `GetConsoleCP'
    dist-ghc/build/doctests/doctests-tmp/Main.o: In function `s5dq_info':
    (.text+0x366): undefined reference to `SetConsoleCP'
    dist-ghc/build/doctests/doctests-tmp/Main.o: In function `s5dr_info':
    (.text+0x42d): undefined reference to `SetConsoleCP'
    dist-ghc/build/doctests/doctests-tmp/Main.o: In function `s5dv_info':
    (.text+0x522): undefined reference to `GetConsoleCP'
    collect2: error: ld returned 1 exit status
Use correct define for x86-64
Merge pull request #284 from iainlane/master

In the doctests, only use the windows.h functions on Windows
fixed an example for (.~) in README.markdown
Merge pull request #285 from pasberth/master

README fix.