Added x3 tests to Jamfile
use std::string as a container for char

That is what normally users would pass, so in some situations it
can avoid copying data.
Added test for recently fixed sequence attribute consistency bug
stop x3::lit from updating passed container
as x3::lit() is fixes no need to omit[] it anymore
make x3::omit[] fail at compile time if it is called with non-unused_type attr

It should never be called with anything but unused_type attribute
anyway, but if something did it due to error it is better to be safe and
fail at compile time rather than unexpectedly  update attribute, which
could lead to hard to detect errors.
unify built container for single element fusion::deque

continue to reduce variety of containers floating inside instantiated
templates.
Make it possible to parse 2 element sequences  directly into fusion map

If parser produces 2 element tuple, then fusion::map can be passed
as an attribute to it. Type of first element in produces tuple is used
as a key and second element is a value stored in map.

Few notes how does it work:
- parsing to fusion::map is treated as parsing to container
- special parse_into_container logic call's parser with it's native
  attribute type (fusion::deque<> for sequences) and then updates
  fusion::map with values from it.
Avoid needless construction of sequence<> parser
Added test for fusion::map parsing
Fix for sequences with only one element producing attr

If in a sequence only one element produces attribute, then make whole
sequence to produce that attribute,rather than wrapping it into
fusion::deque. Not doing so breaks alternative<> parser, when such
sequences are on left and right side of it, because it then generates
variant attribute over fusion:deque<> attributes, which is not
what it is supposed to do. Plus it breaks traits::move_to when both
source and destination are single element fusions sequences. Hence this
fix to put everything back to normal for this edge case.
Support parsing into fusion adapted structs
Merge branch 'fix-one-element-seq' into parse-into-fusion-map
Support alternative over keys to be used as a key for fussion assoc

Adds support for parsers like:
auto key1 = lit("key1=") >> attr(key1());
auto key2 = lit("key2=") >> attr(key2());
auto value = int();
auto pair = key1|key2 >> value;

where attribute passed to pair.parse() is fusion associative sequence
Added test for parsing to fusion map with keys parsed in alternative<>
Fix for the case when fusion assoc seq is on either side of seq
Move move_to condition to template

Even if branch is never taken it still must be compiled
properly, which can cause compile errors. Moving condition
to template eliminates branching.
- fixed move_to handling when src and dest are the same
- added jamfile
added jamfile
Merge pull request #8 from redbaron/fix-one-element-seq

Fix one element seq