Fix bug with function builder not adding the correct reference type
Added next function that works correctly with boost iterator traversal types
Update some of the algorithms and added tests