Make the internal state of configurable modules abstract

Could break some very custom code, but not the one using the `mirage` command-line tool.
Replace internal tuple state by nicer records

As the state is abstract since 2 commits, this does not break any user code.
Expose missing clock combinators
Add a combinator for OS.Time
Add basic random combinators

No fancy entropy sources yet.
Expose a combinator for Io_page
Fix typo
Add optional arguments to replace default time, clock and random combinators, when that's possible.
Fix tests to compile with latest cohttp
Spaces
Merge pull request #255 from samoht/master

Expose the clock combinator + various clean-ups