when adapting a range built with range_facade, use base cursor directly, instead of wrapping the iterator, which is a wrapped cursor.
tweaks to the concepts
Merge pull request #1 from asutton/algorithms-reboot

Algorithms reboot
merge eb12162 from algorithms-reboot
use new Invokable and InvokablePredicate concepts
optimize advance and advance_bounded for counted iterators