Remove a ton of duplicate and obsolete code from configure.

- Add the data and log paths to dumphash.
- Always exit with EXIT_FAILURE on error.
- Always replace the old config.h with our new one.
- Clean up the ./configure --help message slightly.
- Install dhparams.pem into the conf directory on GnuTLS as well as
  OpenSSL.
- Only show the users InspIRCd Git revision when building from Git.
- Remove a check for MinGW (we have proper Windows builds).
- Remove a check for FreeBSD 4 (released in 2000).
- Remove a ton of pointless tab-indented comments.
- Remove a ton of duplicate or unused variables.
- Remove the check for stdint.h (always available on TR1 compilers).
- Remove the $writeheader argument from writefiles (always 1).
- Remove the following %config options:
    - DESTINATION (not used, always set to BASE).
    - EXECUTABLE (always set to inspircd).
    - OSNAME (duplicate of SYSTEM).
- Remove support for checking whether -extra modules are up to
  date (if the user is installing they won't have any -extra
  modules installed).
- Remove SSL generation messages (genssl provides these).
- Replace inappropriate uses of printf with print.
- Replace is_dir with -d from the Perl stdlib.
- Replace resolve_directory with rel2abs from the Perl stdlib.
- Rewrite getrevision to be more compact, cache the revision and
  return 'release' on non-Git builds.
- Use consistent messages for all tests.
- Use tput to clear the screen in a portable way.
Add 'auto' option to genssl to automatically select a generator.
Merge pull request #593 from SaberUK/master+configure-shuffle

Remove a ton of duplicate and obsolete code from configure.
Merge pull request #596 from SaberUK/master+genssl-auto

Add 'auto' option to genssl to automatically select a generator.
Remove a few not-so-useful debug messages
Change modules to use the MODNAME constant when logging.

The majority of modules were logging with their module name as the
log type. There was a few places which were logging to a non-name
type but, with the exception of CONFIG, those messages are so
uncommon that it doesn't make sense to use a seperate type for
them.
Change httpd modules to use the MODNAME constant in headers.
Modify the log message to contain the log type.
Merge pull request #590 from SaberUK/master+module-logging

Change modules to use the MODNAME constant.
Change the syntax of FOREACH macros to be less dumb.
Automatically attach modules to events
Refactor duplicate test code into a run_test subroutine.
Merge pull request #599 from SaberUK/master+configure-tests

Refactor duplicate test code into a run_test subroutine.
FakeUsers are only inserted into UserManager::uuidlist; don't try to erase() them from clientlist
Call ModeParser::Process() directly instead of going through the CommandParser

Simplify the way how m_conn_umodes assembles the modes it sets
Issue #604, fix m_dnsbl, broken in accccc212cd4f08a3c5532b1ae7a17e76bac8718
Fix a couple of issues

- Wrong doc for Snomask::GetDescription()
- Incorrect idle time when WHOISing remote users
- String + int = garbage
- Remote MODE commands (user mode changes) being broadcast in addition to being forwarded
- Incorrect revision being shown