Move package into src

Prevents accidental imports when running tests.
diff --git a/setup.py b/setup.py
index f742c1e..c7c59ee 100755
--- a/setup.py
+++ b/setup.py
@@ -11,14 +11,12 @@
 import codecs
 import os
 import re
-import sys
 
-from setuptools import setup
-from setuptools.command.test import test as TestCommand
+from setuptools import setup, find_packages
 
 
 HERE = os.path.abspath(os.path.dirname(__file__))
-META_PATH = os.path.join("OpenSSL", "version.py")
+META_PATH = os.path.join("src", "OpenSSL", "version.py")
 
 
 def read_file(*parts):
@@ -46,82 +44,45 @@
     raise RuntimeError("Unable to find __{meta}__ string.".format(meta=meta))
 
 
-class PyTest(TestCommand):
-    user_options = [("pytest-args=", "a", "Arguments to pass to py.test")]
+if __name__ == "__main__":
+    setup(
+        name=find_meta("title"),
+        version=find_meta("version"),
+        description=find_meta("summary"),
+        long_description=read_file("README.rst"),
+        author=find_meta("author"),
+        author_email=find_meta("email"),
+        maintainer="Hynek Schlawack",
+        maintainer_email="hs@ox.cx",
+        url=find_meta("uri"),
+        license=find_meta("license"),
+        classifiers=[
+            'Development Status :: 6 - Mature',
+            'Intended Audience :: Developers',
+            'License :: OSI Approved :: Apache Software License',
+            'Operating System :: MacOS :: MacOS X',
+            'Operating System :: Microsoft :: Windows',
+            'Operating System :: POSIX',
 
-    def initialize_options(self):
-        TestCommand.initialize_options(self)
-        self.pytest_args = None
+            'Programming Language :: Python :: 2',
+            'Programming Language :: Python :: 2.6',
+            'Programming Language :: Python :: 2.7',
+            'Programming Language :: Python :: 3',
+            'Programming Language :: Python :: 3.3',
+            'Programming Language :: Python :: 3.4',
+            'Programming Language :: Python :: 3.5',
 
-    def finalize_options(self):
-        TestCommand.finalize_options(self)
-        self.test_args = []
-        self.test_suite = True
+            'Programming Language :: Python :: Implementation :: CPython',
+            'Programming Language :: Python :: Implementation :: PyPy',
+            'Topic :: Security :: Cryptography',
+            'Topic :: Software Development :: Libraries :: Python Modules',
+            'Topic :: System :: Networking',
+        ],
 
-    def run_tests(self):
-        # import here, cause outside the eggs aren't loaded
-        import pytest
-        errno = pytest.main(self.pytest_args or [] +
-                            ["OpenSSL"])
-        sys.exit(errno)
-
-
-setup(
-    name=find_meta("title"),
-    version=find_meta("version"),
-    description=find_meta("summary"),
-    long_description=read_file("README.rst"),
-    author=find_meta("author"),
-    author_email=find_meta("email"),
-    maintainer="Hynek Schlawack",
-    maintainer_email="hs@ox.cx",
-    url=find_meta("uri"),
-    license=find_meta("license"),
-    classifiers=[
-        'Development Status :: 6 - Mature',
-        'Intended Audience :: Developers',
-        'License :: OSI Approved :: Apache Software License',
-        'Operating System :: MacOS :: MacOS X',
-        'Operating System :: Microsoft :: Windows',
-        'Operating System :: POSIX',
-
-        'Programming Language :: Python :: 2',
-        'Programming Language :: Python :: 2.6',
-        'Programming Language :: Python :: 2.7',
-        'Programming Language :: Python :: 3',
-        'Programming Language :: Python :: 3.3',
-
-        'Programming Language :: Python :: Implementation :: CPython',
-        'Programming Language :: Python :: Implementation :: PyPy',
-        'Topic :: Security :: Cryptography',
-        'Topic :: Software Development :: Libraries :: Python Modules',
-        'Topic :: System :: Networking',
-    ],
-
-    packages=['OpenSSL'],
-    package_dir={'OpenSSL': 'OpenSSL'},
-    py_modules=['OpenSSL.__init__',
-                'OpenSSL.tsafe',
-                'OpenSSL.rand',
-                'OpenSSL.crypto',
-                'OpenSSL.SSL',
-                'OpenSSL.version',
-                'OpenSSL.test.__init__',
-                'OpenSSL.test.util',
-                'OpenSSL.test.test_crypto',
-                'OpenSSL.test.test_rand',
-                'OpenSSL.test.test_ssl',
-                'OpenSSL.test.test_tsafe',
-                'OpenSSL.test.test_util',],
-    install_requires=[
-        "cryptography>=0.7",
-        "six>=1.5.2"
-    ],
-    test_suite="OpenSSL",
-    tests_require=[
-        "pytest",
-    ],
-    cmdclass={
-        "test": PyTest,
-    }
-)
+        packages=find_packages(where="src"),
+        package_dir={"": "src"},
+        install_requires=[
+            "cryptography>=0.7",
+            "six>=1.5.2"
+        ],
+    )