Update at algorithm
Fix some problems with iterator traits and add more tests
Fix problem with totally_ordered as well
Fix problem with range_traits
Update at_c, at_key, back and back_or algorithms
Udpate find algorithm
Remove comment
Update contains
Update count algorithm
Update filter algorithm
Update flat algorithm
Update reverse
Update flat algorithm to work with reversible ranges
Add missing headers
Add iterator_range_adaptor to help reduce boilerplate of creating ranges
Update drop
Update drop_while
Add a make function to improve polymorphic constructors
Add is_template type trait
Update elements_at