Add `executable_if` and `retrievable_if`.
Add `flatten_into_set`.
Add the `instantiate` intrinsic.
Attempt to add computation_map and dependency_iterator.
Make the execution order more flexible.

   Allow specifying features to be executed before a computation
   and features to be executed afer a computation.

   Replace the dependencies by requirements, which only represent
   features that must be retrievable from an environment for a
   computation to be executable and retrievable.
Remove the `has_default_implementation` from the intrinsics.

It being an intrinsic did not make sense, since it was
well-defined for all types.
Remove unused file `fusion_fold.hpp`.
Sort computations in the right execution order.

The order is now specified by their predecessor
and successor relationships instead of their
dependency relationship.
Document the intrinsics.
This file defines -> Defines.
Remove useless include.
Add mpl11 submodule.
Use standard type_traits where possible.
Add REACT_CONCEPT_ASSERT.
Fix compilation bugs under Clang.
Move archetypes to concept/archetypes.
Fix placeholder substitution in the computation_map.