Catch exception in should assertions

Should assertions are catching exceptions now and generate a new one
with additional hints where the error eccured in a specification.
Add reduction functions in std.list

Add fold and reduce for std.list.
Add zip-with, filter, partition, find, unfold, product and sum