python 3 print function, urllib.parse
Support both python version urlparse library.
Explicitly check for default sub-function.

Python2's argparse, when setup to use sub-parsers, will complain when no
arguments are given. In Python3, argparse will not complain when given no
arguments and just return an empty Namespace.