builtins: added bytes-to-string decoder since urllib.urlopen() returns bytes instead of a string in Python 3
builtins: added bytes-to-string decoder since urllib.urlopen() returns bytes instead of a string in Python 3

This fixes a bug when trying to import a supernova model for the first
time in Python 3. json.load() needs a string argument, but in Python 3,
urllib.urlopen() returns raw bytes. (In Python 2 it returns a string as
the code expects currently.) The fix yields identical behavior in both
Python 2 and 3.

Note that the bug does not trigger in either version of Python if the
requested model has already been downloaded and cached.

Signed-off-by: Brian Friesen <ceef470fa446c34f78835c5f4ada0b07930b5a78@ou.edu>

kbarbary/sncosmo,dannygoldstein/sncosmo,dannygoldstein/sncosmo,kbarbary/sncosmo,kbarbary/sncosmo,dannygoldstein/sncosmo,sncosmo/sncosmo,sncosmo/sncosmo,sncosmo/sncosmo