ack.py module with tests

Exceptions (SyntaxError, TypeError, NameError and AttributionError)
This function will only produce a TypeError if it is called without arguments. However, if you provide it with arguments then it'll produce a NameError instead because 'man' is not defined.