Revert "C++ API change: ::arakoon::cluster: arakoon_client_call_options"

Since we consider the C++ API to be unstable at the moment, changes are
OK, yet they should only occur in-between minor releases.

This commit reverts a change, which is retained in the 1.1 branch.

This reverts commit 466d7efdd4d4a948ae5e80576a5ad5cfdb87fbc8.
Add HACKING.rst

Change-Id: I423049095785450e45b167657d17e1ddb83a3902
Reset errno in poll-handler loop

When read(2) returns a zero-length result, this might indicate no data
could be read from a socket, which is not an error condition (errno
won't be changed). The errno value could still contain the value set
during a prior iteration (e.g. EINTR or EAGAIN), which results in an
infinite loop.

This commit changes the inner loop to reset errno to 0 when entered.

Thanks to Arne Redlich, Immanuel Litzroth and Bart De Vylder for
pinpointing the issue.

Change-Id: Ib4a2f63697a13d06e3af7e926dc44c69f3db8cb3
Fixes: ARAKOON-324
See: http://jira.incubaid.com/browse/ARAKOON-324
Handle the POLLRDHUP poll(2) revent

This commit adds some code to handle the POLLRDHUP revent returned by
poll(2), to detect unreadable sockets early on.

Change-Id: If4fd8f829ff890c0a7551086353ce317325d493e
See: d244306899be624b003a80f799efac31569604b1
See: ARAKOON-324
See: http://jira.incubaid.com/browse/ARAKOON-324
Fix handling of timeout cases in _arakoon_networking_poll_act

In some somewhat-happy-path cases, a given timeout could be reached,
yet the poll-loop would continue running, even passing a negative value
to poll(2) (which would result in an infinite timeout of the call).

This commit adds a check which makes sure the procedure returns in
time.

Change-Id: I667b85598dea103656462fb7d63513639c7695e2
See: ARAKOON-324
See: http://jira.incubaid.com/browse/ARAKOON-324
Explicitly cast ARAKOON_BOOL_* value definitions

Requested for C++ compatibility reasons.

Change-Id: I55f8dc1d495689d2d7b7569bec1dc837abab6f22
Fixes: ARAKOON-325
See: http://jira.incubaid.com/browse/ARAKOON-325
Merge branch 'ARAKOON-324' into 1.0

* ARAKOON-324:
  Fix handling of timeout cases in _arakoon_networking_poll_act
  Handle the POLLRDHUP poll(2) revent
  Reset errno in poll-handler loop
Merge branch '1.0' into 1.1

* 1.0:
  Explicitly cast ARAKOON_BOOL_* value definitions
  Fix handling of timeout cases in _arakoon_networking_poll_act
  Handle the POLLRDHUP poll(2) revent
  Reset errno in poll-handler loop
  Add HACKING.rst
  Revert "C++ API change: ::arakoon::cluster: arakoon_client_call_options"

Conflicts:
	src/arakoon.h
	src/arakoonmm.cpp

Change-Id: I0e07a1243a4d8c8a9f419ab92c5dfbdc5ce0f4c5
Merge branch '1.1' into 1.2

* 1.1:
  Explicitly cast ARAKOON_BOOL_* value definitions
  Fix handling of timeout cases in _arakoon_networking_poll_act
  Handle the POLLRDHUP poll(2) revent
  Reset errno in poll-handler loop
  Add HACKING.rst
  Revert "C++ API change: ::arakoon::cluster: arakoon_client_call_options"