adds missing <functional> include
removes unused includes of <functional>
adds test with container of move-only objects

it just works because powerset uses container
trailing whitespace...removed
actually adds the test for move-only objects

it really does just work though. heh.
adds test with deref-by-value iterator

also "just works"