Modernize `primitive.cabal`

This includes declaring all potentially used language pragmas in
`other-extensions` and declare the `CPP` in the `.hs` files instead of
using `default-extensions`.

Moreover, move the changelog entries out of the description field into a
top-level `changelog` file which is recognized by Hackage 2.
Make `-Wall` clean

This makes compilation `-Wall` warning-free with GHC 7.0/7.2/7.4/7.6/7.7
Declare at proper lower version bounds for build-deps

This declares the lower version bounds for the minimum version of
`ghc-prim` and `base` for which the `primitive` was tested with.

As of now, the oldest version known to build `primitive` is GHC 7.0.1.
Merge pull request #2 from hvr/cleanups

Misc Cleanups