znc.service: Improve description, don't fork on your own

The description gets displayed when the service is started and would
output something like "Starting An advanced IRC bouncer". There's
potentially more than one, though, and, thus, the name should at least
be included.

Type=forking should be used as a last resort only. systemd does the
forking itself and, thus, ZNC should be started with the -f switch.
Add support for --with-systemdsystemunitdir.

--with-systemdsystemunitdir is the usual way to configure the directory
to which any systemd service file gets installed.
Fix the tests.

Due to the restructure directory layout, header files weren't found
anymore.

CConfigEntry was moved out of CConfig which had to be reflected in
ConfigTest.
watch module: Don't handle multiple matching patterns for each target

Keep track of the targets which have already been notified of a matching
message, and do not notify them again if other patterns in the same
message match also. For example, consider the following match patterns:

  1) <*watch> /msg *watch ADD *!*@* *highlight *%nick%*
  2) <*watch> /msg *watch ADD *!*@* *highlight *testuser*
  3) <*watch> /msg *watch ADD *!*@* *testhilights *test*

If %nick% ist something like "testuser123", all of the these patterns
match the following message:

  <otheruser> hey testuser123, look at this: ...

Without this patch, the watch module would generate two notify messages
for target *highlight, and one notify message for target *testhilights.
This is unneccessary because patterns 1 and 2 will result in
generating the same notify message twice for target *highlight.

By using a std::set, the implementation in this patch keeps track of
which targets have already been notified and does not notify them more
than once.
note dependency on automake for github install
Send a nick change to clients connecting with a different nick

Before we was hoping that the client was using the nick from 001, not all
clients supported this.

Closes #170
change PutModule to handle multiple lines if need be. fixes #205
Use gettimeofday instead of clock_gettime.

POSIX.1-2008 deprecates gettimeofday...
So perhaps it will be changed back in future.

For now gettimeofday is more portable :(
Don't show message about missing motd by default.

To enable it, load missingmotd module.
Fix #202
Fix #117
It was bad idea to set *macEXITER to false inside MODULECALL :(

There're places where it's initialized to true before calling
MODULECALL.
route_replies: Follow rfc1459

Closes #190
Don't replace our motd with a different servers motd

Fixes #167
Add vector<CListener*> to modperl/modpython.
Merge branch 'master' of github.com:znc/znc
Improvements to modpython.

1. Be able to write binary data to any sockets, not only to ones created
from python.
2. Add support for CSmartPtr<CWebSession>
Don't generate mod[perl|python].tar.bz2
Merge pull request #204 from kylef/nick

Send a nick change to clients connecting with a different nick
Fix a bunch of conversion warnings #197
Merge branch 'conversion'