Don't try to set a mode in Channel::SetDefaultModes() if it needs a parameter but does not have one

Thanks to @docwhat for helping to track this down, fixes issue #924
Reject parameters that begin with a colon in Channel::SetDefaultModes()
m_ssl_gnutls Re-set DH params when the gnutls_certificate_credentials_t struct is reallocated
Fix an off-by-one on registration timeout handling.

The use of > instead of >= here added a second onto the configured timeout.

We won't be breaking any existing configuration, because users.h explicitly
increases the limit if it's 0.
Merge pull request #929 from rburchell/insp20

Fix an off-by-one on registration timeout handling.
Revert "Fix an off-by-one on registration timeout handling."

This seemingly breaks (occasionally timing users out a second early), possibly
due to rounding issues on time (User::age and Time() both return int, but a
whole second is comprised of many ms).

The root cause needs investigation, but we cannot leave a potentially breaking
bug in the tree.

This reverts commit 4414d644a163f3906f90b35186e07ce0383161f4.
Fix hash_map.h on non-GNU C++ standard library implementations.
Merge pull request #930 from rburchell/revertfix

Revert "Fix an off-by-one on registration timeout handling."
Merge pull request #931 from SaberUK/insp20+fix-non-gnu-stl

Fix hash_map.h on non-GNU C++ standard library implementations.
WIP: Fix various warnings when building with LLVM 3.6.

- warning: absolute value function 'abs' given an argument of type 'long' but has parameter of type 'int' which may cause truncation of value [-Wabsolute-value]
- warning: 'this' pointer cannot be null in well-defined C++ code; pointer may be assumed to always convert to true [-Wundefined-bool-conversion]