Fix compilation error with as_deque in C++11.

In C++11, `as_deque` did not compile for even simple use cases. I added a unit test and a fix (which is not 100% clean, see inline comments). With the patch applied, all the unit tests are passing on develop with Apple's Clang and -std=c++1y.
When the deque is a `deque<deque<...>>`, these constructors will cause problems because they will mistake the first and only element for a copy construction. Actually, I think the right fix here would be to check whether all of `Head_` and `Tail_` are convertible to their corresponding element, but that's a bit more complicated and it adds compile-time overhead. Thoughts about the right fix?