New routines for key/value copy and free in hash tables

With the routines for key/value copy and free it is possible to
duplicate or free different data types in the hash tables.

The user_alloc() routine is the first example.
Fixed some typos in README
Added the Google Group address to the README
Add link to the bugs database: bugs.skysql.com
mysql_backend.c:gw_read_backend event
	If backend authentication fails, wait until session has created router_client_session before reading the session->router_session pointer value. There should only be one case where this situation occurs : when session is being initialized concurrently with authentication. Only consequence is to close router_client_session immediately after session initialization is completed.
Bug #385 http://bugs.skysql.com/show_bug.cgi?id=385
dcb.c:dcb_write accept also dcb state DCB_STATE_NOPOLLING since it only means that dcb has been removed from epoll set but it is still possible to write to it.

Bug #384 http://bugs.skysql.com/show_bug.cgi?id=384
session.h:added new state for SESSION, SESSION_STATE_ROUTER_READY which follows SESSION_STATE_READY. The difference is that ROUTER_READY is set only after router session is successfully created while READY means that session still lacks router.
session.c:set SESSION_STATE_ROUTER_READY when router is created.
mysql_backend.c:gw_read_backend_event, added SESSION_STATE_ROUTER_READY check before router session is closed. Changed chec kso that it doesn't block in infinite loop (although it shouldn't be possible anyway).
mysql_backend.c:gw_error_backend_event, added similar check before session is closed.
State transition diagram for Descriptor Control Blocks.
Added detection for USE <db> (= DATABASE()), which is a system function which changes session variable. Therefore it must be treted as SESION write and executed in both master and slave.
Revert previous change to query_classifier.cc, which was triggered due to bug # 391, http://bugs.skysql.com/show_bug.cgi?id=391
Bug was identified by test, but it couldn't be validated. Using RW Split router currently may lead to situation where after setting system variable there is a backend server which doesn't have the value set. This is an incomplete feature at the moment rather than a bug.
Fixed issue with MaxScale crash if a configuration unknown section
without a type is added. This is Bgzilla bug 378.
Updated server version added to the prompt and in the log files.
See Bugzilla bug 376.
Tidy up of the exit status based on the issues founf during startup.

See Bugzilla 370.
Updated gitignore files
Addition of warnign to the debug command line interface regarding passing
bad arguments.
Fix for allDCB linked list corruption.
Add check that the argument to the -c option is a directory.
Enable/disable root user in services

Added support for enable/disable root user, this is currently used in
MySQL authentication
"enable_root_user" option available in service configuration example

In MaxScale_template.cnf "enable_root_user" added for valid service
option
Added support for defining a bind address in the listener config.

Also removed some compilation warnings.

See Bugzilla bug 150
Test system for MaxScale.
Every test/makefile have the following targets:
 cleantests 	- clean local and subdirectories' tests
 buildtests	- build all local and subdirectories' tests
 runtests	- run all local tests
 testall	- clean, build and run local and subdirectories' tests

Tests for directory random_dir are always in its subdirectory, in this case in random_dir/test . If random_dir has subdirectories with tests, random_dir/child_dir, for example, tests of child_dir can be started from random_dir/test/makefile where make -C child_dir/test <test target> is called.

See MAXSCALE_HOME/test/README for further information.