Split up util.cpp/h

100% code movement, no functional changes.
Split up util.cpp/h into:

- string utilities (hex, base32, base64): no internal dependencies, no dependency on boost (apart from foreach)
- money utilities (parsemoney, formatmoney)
- time utilities (gettime*, sleep, format date):
- and the rest (logging, argument parsing, config file parsing)

The latter is basically the environment and OS handling, and is stripped of all utility functions, so we may want to rename it to something else than util.cpp/h for clarity (@thebluematt suggested osinterface).

Some unused functions have been completely removed, some functions of limited use that are only used in one place have been moved where they are used  (see commits).

Breaks dependency of sha256.cpp on all the things pulled in by util. This makes many include-time dependencies explicit, which before were 'inherited' from include files.