Generalize the sequential backend's implementation of general_copy such
that assignments from wrapped references to an OutputIterator with
a related reference will succeed.

Fixes #392
Deal with OutputIterator's reference type being void
is_assignable -> lazy_is_assignable
Trying a different implementation for reference_is_assignable
Yet another stab at reference_is_assignable
Merge pull request #395 from jaredhoberock/issue-392

Issue 392