Wrapped bats

Or would that be ![too cute](http://bulk2.destructoid.com/ul/user/1/1709-211569-tIxzyjpg-noscale.jpg)
Fix wrapped instance for ComposeCF
Fix the functional dependencies to account for the fact that the class operation is "wrapped" and not "unwrapped"

issue #318
Fix Wrapped instances which do not satisfy fundeps
Use qualified name for Refl to avoid name clash with GHC-HEAD
Merge pull request #348 from sjoerdvisscher/patch-1

Change Iso type arguments to the regular names
The Typeable1 alias needs PolyKinds and ConstraintKinds enabled
Some of the orphans defined are now in base
Relax array upper bounds for GHC 7.8
Merge pull request #349 from alphaHeavy/more-head-fixes

Build fixes for GHC HEAD
Overloaded -> Optic, Overloading -> Optical. We now have laws for
arbtirary Optics that hold across the entire ecosystem, so it behooves
us to give them a better name.
Merge branch 'master' of github.com:ekmett/lens

Conflicts:
	src/Control/Lens/Fold.hs
Optic laws
Added below
Generalized outside to work over any representable profunctor
Added missing import
Generalized inside
Grouped like behavior. Simplified signature of below
cleaned up the definition of inside
Updated to build off the 4.0 versions of our dependencies