Unify the mirage-types and mirage repositories

We previously had a mirage-types repository to hold the "dependency free" module signatures.  However, the versions of these types that were specialized to Lwt were in the main mirage repo, which made it very confusing to make changes.

Now, all the type definitions are held in mirage/mirage in the `types` subdirectory, and the OPAM packages are still separate (currently still being modified in mirage/opam-repository#mirage-1.1.0).

The external interface for Mirage applications will change slightly in 1.1.x, since you now have to `opam V1_LWT` to get the correct module signatures for your Job. This is relatively minor and has already been applied to avsm/mirage-skeleton.