Various packaging changes and bug fixes

I've been working on my fork and realized some of the changes may be of use upstream.

Added sphinx documentation directory and basic configuration to allow creating library documentation using the same tools as the python core libraries.   This should also make it simpler to put the results on the http://readthedocs.org site in the future.

Updated the __init__.py to correctly import solidpython on both python 2.x and python 3.x interpreters.

Update the tests to run correctly if run from the parent directory.

Add a missing png requirement (which is used by one of the examples) to the settings.py

Subclass the unittest testcase class to output a diff of the differences when an assertEqual fails because the strings in the failures can be rather long and very similar.

Change from using install_data in the setup.py to using a manifest.in that includes all files needed in the sdist package.

Add a tox.ini configuration file to allow for using tox to generate the python package and install and run the unit tests in python virtual environments run with different python interpreters (see issues due to python version differences)

Updated the .gitignore to ignore temp files created by tox and sphinx

Some whitespace/formatting changes to use PEP8 formatting.