Initial structure according to best practices provided by Python packagi...

...ng guide.
The manifest specifies what files are included in a source distribution.  Despite the documentation in the above link stating that if you declare a manifest you need to explicitly include everything for a source distribution, it appears as though setuptools will include all of the files specified in the manifest in addition to all of the packages specified in the "packages" setup parameter.  So, it's common practice to include a MANIFEST file to package up tests, requirements.txt, and other informational files.

I just included .gitignore because the Amazon SDK project included it, but I can't find a best practice so I'll remove it in a future commit.