Feature/test suite

Steve - please can you check my Python.
`str` is built in type, so overriding it here is a bit dangerous. Generally naming a variable after its type is not useful, because it doesn't tell the reader what it is for (just that it is of type x). In this case, it might be better to write a wrapper fn like so:

```
import logging
log = logging.getLogger(__name__)

def print_str_to_console_and_arcpy(message):
    """Prints a string to the console, and also adds it to ArcPy's message stack"""
    log.debug(message)
    arcpy.AddMessage(message)

```