Change default serial run size to 42.
Use the highest bit of "count" as full.

This save a store in initializing a fiber_joint_t.
Lazy frame initialization.

This saves two store ops for each fork on "work" path.
Lazy initialization of fiber_joint_t.
Cleanup fiber_init.
Refactor the code for scheduler.

Use a uniform way to transfer control between states.
Use the new jump routine.

The new jump routine saves one instructions.
Add macro FIBER_FAILURE.
Use new way to resume a joint.
Use the new way to execute a stolen frame.
Remove the "full" field in a frame.

The "full" field was used to tell whether a frame has been stolen before
the worker tries to pop its deque. Currently, we set the stolen frame's
saved based pointer to NULL, to indicate it is stolen.
Save entire frame on deque, rather than a point.
Partially initialize a joint.