Default values for more configuration options

I propose that the following things will be done in order to resolve this:

- [x] `[bot]`
    - [x] `modules`: Defaults to `[]`
    - [x] `nickname`: Raise exception
    - [x] `realname`: Defaults to nickname
    - [x] `username`: Defaults to user account if `getpass` module is available. If not, either raise an exception, or use a safe version of the nickname with a fallback to `bones`
    - [x] `channels`: Defaults to `[]`
    - [x] `joinOnInvite`: Defaults to `False`
    - [x] `triggerPrefixes`: Should either be *one* of the example prefixes, or all of them.
    - [x] Raise exception on all other options
- [x] `[server]`
    - [x] `port`: Defaults to `6667`
    - [x] `useSSL`: Defaults to `False`
    - [x] `setBot`: Defaults to `False`
    - [x] `host`: Raise an exception
- [x] `[storage]`
    - [x] Use the example configuration verbatim
- [x] `[services]`
    - [x] `nickserv.waitForNotice`: Defaults to `True`
    - [x] `nickserv.password`: Make the NickServ module check for this, make it log an error and disable itself
    - [x] `hostserv.waitForHost`: Defaults to `True`
- [x] `[module.*]`
    - [x] Use the example configuration verbatim
- [x] Log configuration
    - [x] Raise exception