Change in interface and added copyright notice

1. Made moveNext to accept the functions to be chained (This seems more Expressive)
2. Added the "index" attribute to the chained function context