Fix indentation.
add type deduction support to BOOST_FUSION_ADAPT_ADT_C_BASE.
Fix some includes for consistency and use correct accessors macros.

Since we have accessors macros for wrapped attributes we better use them,
to improve readability of the macros.
Add support for BOOST_FUSION_ADAPT_ADT to either deduce types or use specified ones.
Improve adapt_adt test to check more case with type deduction.
Fix dependents scopes and typedefs with typename keywords.
BUGFIX: When VARIADICS are active supporting any of the input combination.

That is : BOOST_FUSION_ADAPT_AUTO, omitting type or specifying type.
Factoring out the workaround to access last variadic parameter.

Indeed when some parameter are BOOST_PP_EMPTY the last parameter is
accessed correctly but results in a compilation error which doesn't stop
some compiler (e.g. g++) to go through the preprocessing pass and still
compile the binary correctly. But to avoid the error message I used a
workaround which behaves better. I preferred factoring it out to make
clear that there are some reason why this element is strangely accessed.
add documentation for BOOST_FUSION_ADAPT_ADT and type deduction.
add test for BOOST_FUSION_ADAPT_ADT_NAMED deducing types.
adds type deduction support for BOOST_FUSION_ADAPT_ASSOC_ADT.
add comments for readability.
lvalue access::struct_member was wrongly set to be adt_attribute_proxy<> instead of adt_attribute_proxy<>::type. Shame on me.
lvalue typedef for acess::struct_member is a dependent scope to templated
parameter when used within BOOST_FUSION_ADAPT_ASSOC_TPL_ADT.

This fixes test sequence/adapt_assoc_tpl_adt.cpp.
Change adapt_assoc_tpl_adt to test type inference from templated type.
Updates the doc of ADAPT_ADTs macros
Fix test for compiler not supporting BOOST_PP_VARIADIC.
Changes the test cases, as the behaviour about const-qualifier for
attribute_type and attribute_const_type when type is deduced can be
different than when the type is provided.

Indeed when specifying attribute_type and attribute_const_type manually
it's possible to provide a type which isn't const qualified as
attribute_const_type. When deducing the types from the get_expr, a const
and a non const qualified type is taken respectively for attribute_type
and attribute_const_type.
Merge pull request #25 from daminetreg/fusion_adapters

BOOST_FUSION_ADAPT_*_ADT macros supporting type deduction