Added Main environment class and main function

We've adopted an indentation scheme for the docstrings. Refer to the other files to see how things are tabbed under Args and Attributes.