Added a boost::fusion wrapper called friendly fusion.

This wrapper gives error messages that are more clear than the standard boost fusion template stacktrace error messages.