Support lens >= 4.4 and lens-aeson.

At version 4.4 of the lens package, Data.Aeson.Lens module is migrated to lens-aeson package.
Support lens >= 4.4. `defaultRules` has been removed since lens 4.4.
Restrict lens upper version (< 4.5)
Fix spec_main deps
Fix samples
hlint does not handle cabal macros... Fix it.
.travis.yml: change ghc version (7.8.2 -> 7.8.3), and add ghc-7.4.2 to allow_failures
.travis.yml: constraint transformers < 0.4
Add PV datatype in order to store the parameter with various types in APIQuery parameters.
Split modules
Reorder modules