Improve fusion::deque

This PR will fix several deque bugs, including major one: b543d69 .
It fix failure on `push_{front|back}<deque</* empty */>, T>`, because `{front|back}_extended_deque` and `begin` expect the range `(next_down, next_up)` being valid, not `[next_down, next_up)`.

And 223c7d5 will fix [BP x86_64 C++11 - fusion - deque_make / gcc-4.8.3~c11](http://www.boost.org/development/tests/develop/developer/output/BP%20x86_64%20C++11-boost-bin-v2-libs-fusion-test-deque_make-test-gcc-4-8-3~c11-debug-debug-symbols-off.html).

Tested under
- GCC 4.8.3 (c++03, c++11, c++14 mode)
- GCC 4.9.2 (c++03, c++11, c++14 mode)
- Clang 3.5.0 (c++03, c++11, c++14 mode)
- MSVC 8.0 - 14.0