Merge pull request #19 from Tilka/master

Bunch of fixes
Improved flood control counting to strictly not allow more than
the given amount of messages in the configured interval.

The previous behavior allowed n+2 messages in the interval, due to
two off by one comparison rules.

In addition, if flooding is detected then each new message after the flooding
is detected will reset the interval timer, which means the client
cannot send another message until the timeout interval expires.
Fix CMake/SQLite path issues on 64-bit Ubuntu 14.04
Fix cmake script for searching sqlite3 properly.

This is important for Debian, Ubuntu and other systems based on them. Details:
  https://wiki.debian.org/Multiarch
  https://wiki.ubuntu.com/MultiarchSpec

Have in mind that there are MIPS, ARM and many other architectures...
Delete extra option from cmake rules.
Merge pull request #20 from tehnick/cmake-sqlite3-fix

Fix cmake script for searching sqlite3 properly.
Merge pull request #22 from tehnick/cmake-fix

Delete extra option from cmake rules.
Fix typo.
Fix build with clang.
Add support of Travis CI.
Merge pull request #23 from tehnick/fix-clang

Fix build with Clang.
Fix compile warning due to missing return value.
Merge pull request #24 from tehnick/travis-ci

Add support of Travis CI.
Fix compile warning due to missing newline at EOF.
Fix crashing autotest due to wrong initialization of the usermanager.
Remove usage of strcat, since OpenBSD does not like that.
Fix copyright year.
Fix Clang compile warnings.
Merge branch 'master' of github.com:janvidar/uhub
Fix: Rework SSL poll event handling to avoid infinite loops

The downstream connection callback must only be invoked when the event
that SSL requests for the connection to make progress has actually
occured. Otherwise, the downstream callback might do nothing but
re-queue an unrelated event (e.g. in user_net_io_want_write), and the
event loop comes around instantly while making no progress. Track the
SSL-requested events separately and deliver the required downstream
event when they fire.

Sample strace:

epoll_wait(0, {{EPOLLIN, {u32=96, u64=96}}}, 91, 10000) = 1
: net_ssl_callback in state tls_st_need_write calls cb NET_EVENT_WRITE
: User writes data, OpenSSL tries to write data
write(96, <snip>..., 170) = -1 EAGAIN (Resource temporarily unavailable)
: handle_openssl_error requests NET_EVENT_WRITE
epoll_ctl(0, EPOLL_CTL_MOD, 96, {EPOLLOUT, {u32=96, u64=96}}) = 0
: User callback then requests NET_EVENT_READ|NET_EVENT_WRITE
epoll_ctl(0, EPOLL_CTL_MOD, 96, {EPOLLIN|EPOLLOUT, {u32=96, u64=96}}) =
: Data available for *reading*
epoll_wait(0, {{EPOLLIN, {u32=96, u64=96}}}, 91, 10000) = 1
: net_ssl_callback in state tls_st_need_write calls cb NET_EVENT_WRITE
: again...