Python 3 compatibility without 2to3

This pull request changes `pydl` to have a Python 2 and 3 compatible codebase without needing to run `2to3`, as recommended in the [astropy docs](http://docs.astropy.org/en/stable/development/codeguide.html?highlight=python#writing-portable-code-for-python-2-and-3).

There's a lot of lines changed, but most are the simple `print "something"` to `print("something")` change.
These could just use `set(par)`, `list(pair_dict)`, etc.  The `.keys()` is superfluous since all those constructors take iterables, and the default iteraction for a dict is over its keys.