Fiber continuations

Fiber continuations are a way to let a regular C function (which doesn't
know anything about continuations) interact with continuation-aware
code.  When you create the fiber, you provide a `run` function.  When
the fiber's continuation is resumed for the first time, we'll call this
`run` function.  Within the `run` function, you can use
`cps_fiber_yield` to yield to other continuations or fibers.  This is
equivalent to resuming the `next` continuation in continuation-aware
code, but unlike in the continuation case, you don't provide an explicit
continuation to resume back to; instead, the current execution context
is saved, and we automatically return back to it when the fiber's
continuation is resumed at some later point.

This requires maintaining a separate stack for the fiber, since the
fiber can yield at any point from any nested function call, and we have
to be able to return to that exact point later on.

The underlying implementation comes from Boost's context [1] and
coroutine [2] libraries.

[1] http://www.boost.org/doc/libs/1_54_0/libs/context/doc/html/index.html
[2] http://www.boost.org/doc/libs/1_54_0/libs/coroutine/doc/html/index.html
Remove Sphinx documentation
Merge branch 'feature/context' into develop

* feature/context:
  Remove Sphinx documentation
  Fiber continuations