Prevents some warnings caused by catching complex types by value. Closes #542
Tests for issue #809 -- Potentional operator overload ambiguity -- and PR #646 -- Pretty print characters.