[http] New features and error handling

- Provide for cleaner HTTP "Cancellation" handling:
    Make implicit states to indicate if callbacks need to be invoked,
    and how to invoke them.

- Don't associate http requests with server instances:
    There is very little correlation between a memcached server and the
    views it conducts with respect to our code. Making all requests be
    parented by the instance simplifies the internal structure

- Allow timeouts for view requests

Change-Id: I19e1467595a3e0559d9d84bc87cb1044f9508d63
Reviewed-on: http://review.couchbase.org/27494
Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Tested-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Make tests run on Windows

This uses CMake to run tests on Windows. Some minor code fixes were
needed in the main test body to eliminate a flood of warnings from MSVC.

- The server.c "initializer" was modified to be win32 compatible.
  Specifically #defines were put for sleep, usleep, closesocket. Windows
  will use CreateProcess.

- timeout.c uses CreateTimerQueueTimer for its timeout functions

- Still need to configure paths correctly as CMake does an
  "out-of-source" build, so I need to allow the main program to find the
  jar more intelligently

Change-Id: I23d3c19cdf3fee7852beffebeae2303c5d20f441
Reviewed-on: http://review.couchbase.org/27526
Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Tested-by: Sergey Avseyev <sergey.avseyev@gmail.com>
(void)sock; (bconf_io.c in -Wextra)

Change-Id: I79cc18063fec78c78ecc752a58bb37dc7f733aeb
Reviewed-on: http://review.couchbase.org/27736
Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Tested-by: Sergey Avseyev <sergey.avseyev@gmail.com>