More Automated Checks (pep8-naming)

[pep8-naming](https://pypi.python.org/pypi/pep8-naming/0.2.1) is a module that integrates with flake8 and warns on these style violations:
```
N801	class names should use CapWords convention
N802	function name should be lowercase
N803	argument name should be lowercase
N804	first argument of a classmethod should be named 'cls'
N805	first argument of a method should be named 'self'
N806	variable in function should be lowercase
 	 
N811	constant imported as non constant
N812	lowercase imported as non lowercase
N813	camelcase imported as lowercase
N814	camelcase imported as constant
```

I'm not 100% sure we should enable this (opinions desired!), but this PR will enable it for the tox job and fixes the warnings found. The biggest plus of pep8-naming is catching self/cls mistakes, which we've recently had to fix after landing in master several times (and this check caught one still present).