Add detail::reverse_partial
Make functional utilities constexpr friendly
Make type class methods constexpr friendly.

Instead of using lambdas to implement type class dispatched methods,
constexpr function objects are now used instead.
Make several data types constexpr friendly.
Add an alternative tuple implementation using multiple inheritance.
Add BOOST_HANA_ASSERT.
Reorganize the unit tests and increase the overall coverage.
Functional: make lockstep's syntax like demux's
Add some easy perfect forwarding in List
List: zip_with and zip must receive lists of the same data type
Simplify the implementation of default conversions.
Make the tuple implementation constexpr-friendly.

- Move the lambda-based tuple to the sandbox
- Use the multiple inheritance based tuple instead
Update the overview in the readme to use constexpr when possible.