Refactored Problem class filename methods

Both filename() and suf_name() methods now reference the base_name
variable and take a keyword argument for the file extension (defaulting
to .py).
Moved problem file glob function to utils.py
Rewrote tuples of tuples to use zip() instead