Regression test and hopefully fix for #1760. I remembered that I already wrote a _write_with_fallback utility for exactly this sort of purpose.  But if even that fails we fall back by switching to the plain ASCII spinner.  Creating a test for this was interesting--I extended the FakeTTY utility class I wrote for a different test to enable simulating a TTY with an arbitrary default encoding with which to test out the fix.
Forgot this module had from __future__ import unicode_literals.  Also next() method -> next() function for Python3 >_<
Fix typo; was trying to pass the args for _write_with_fallback to just write.  Also add a flag to allow skipping _write_with_fallback after it's been used once.
The UNICODE_OUTPUT option should be disabled by default, per discussion in #1760
Merge pull request #1760 from embray/issue-1760

VO cone search not working due to issue in Spinner class