Fix hy2py output on Windows/Python 3
Fix hy2py output on Windows/Python 3

If there are Unicode symbols in the hy2py output (as in
tests/native_test/language.hy) and the user is on Windows, and
the user is using Python3 and the user doesn't have an appropriate
codepage in the terminal for Unicode, then hy2py will fail at
encoding the output.

This fix makes sure that if encoding fails, the bytes output is shown
instead of throwing an exception and failing completely.  This also
allows the hy2py tests to pass on Windows.

If the user does activate an appropriate codepage, for example,

chcp 65001

then the Unicode output will show correctly.

Converted printing code to small function to eliminate some duplicate code

paultag/hy,algernon/hy,larme/hy,ALSchwalm/hy,aisk/hy,Tritlo/hy,timmartin/hy,kirbyfan64/hy,farhaven/hy,aisk/hy,Foxboron/hy,adamfeuer/hy,aisk/hy,larme/hy,kirbyfan64/hy,tianon/hy,gilch/hy,tianon/hy,zackmdavis/hy,farhaven/hy,freezas/hy,larme/hy,farhaven/hy,michel-slm/hy,tianon/hy,tuturto/hy,jakirkham/hy,mtmiller/hy,Foxboron/hy,kartikm/hy