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.
change PutModule to handle multiple lines if need be. fixes #205
Fix chansaver to not rewrite the config each time a user joins a channel on startup
NickServ module : Make NickServ nickname configurable.

On some networks, NickServ is named differently and this makes NickServ module unable to auto-ident.
This patch enables configuration of NickServ nickname to make it works on such IRC networks.
*admin was renamed to controlpanel.

But znc --makeconf and config writer didn't know that.
Also I forgot to update wiki link.
Fix dh-blowfish in sasl module and #230

Idea for the patch by psychon
Implement setting "Max number of networks" for user.

Fix #226
Fix configure with -Werror=unused-variable

Signed-off-by: Uli Schlachter <psychon@znc.in>
Fix modperl re-building

Make was always rebuilding modperl/ZNC.so because the Makefile was actually
describing a file modperl/ZNC."so". Fix this by getting rid of the unnecessary
pair of quotes.

Signed-off-by: Uli Schlachter <psychon@znc.in>
Get rid of the modpythin jobhack

This exists to fix a problem where the python swig API was generated multiple
times in parallel with "make -j3". This problems turns out to be due to the
multiple target rule that this commit removes. Such a rule doesn't mean "this
commands generate multiple files at once" but means "you can use this command
for each of these targets".

Fix this by including Makefile.gen instead of calling it in its own make
process. That way we don't need this "meta rule" which just calls another
Makefile but can use the "real" rules immediately.

Signed-off-by: Uli Schlachter <psychon@znc.in>
Clarify in --makeconf how network name should look like.
Merge branch 'master' of github.com:znc/znc
Add a way to move networks between users.

It should help for migrating old multiuser setup to new multinetwork
one.

Fix #217
Warn if mod dir of old network contains files when moving.
Add a command for listing all users' networks.

Fix #224
Don't fail compilation of modperl/python if they are first
Improve message in ./configure about SWIG
Fix compilation of modpython

Thanks to gtmanfred, who reported it
Hide current impl of server-time to znc.in/ namespace

The specs are going to change to support leap seconds properly,
so ZNC implementation will need to be updated.
But it would be too big change now, when 1.0-beta is out.

So support for this capability is delayed for 1.2