adds tests for movable temporaries
Rewrites repeat to support temps and bind to lvals

More similar to python's repeat, the new version will bind to any lvalue
passed in, which I believe to be the expected behavior.  This
modification changes the semantics of repeat() from it's previous
implementation in that the item worked on is no longer a copy of an
lvalue that was passed, but a reference to it.
Replaces chain function with callable object

This is in preparation for chain.from_iterable
Adds test for chain.fromiterable
Adds chain.from_iterable

Works with an iterable of iterables, rather than a variadic number of
iterables
Adds chain.from_iterable to README