Add fixes for C++03 build
Improve rvalue detection in C++03
Fix type deduction problem in C++03 for advance
Remove some unnecessary template instiations of perfect_adaptor