Adds test with range temporary

for (auto i : enumerate(range(...))), something I've been meaning to do
for a while.
Adds support for temporaries
Restores privacy to enumerate
Adds initializer_list test
Adds support for initializer_list
formatting
Adds Range::Iterator::operator= to copy value
Adds test with temporary
Adds support for temporaries