Removes flat sequence parser through optional to fix:
* Non-flat `tuple<..., optional<tuple<...>>, ...>` parsing.
* Optional container parsing when it is a part of the sequence and the optional parser subject is a sequence too.
The removed test cases are invalid (see #664) variants of flat through optional. There are a valid ones (like `int_ >> -(int_ >> int_)` into `tuple<int, optional<int>, optional<int>>`) that would be broken after the change, but at the moment I do not have a popper way to make it work.
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.