Added lock to prevent parallel execution on same account

- Upgraded option parser from deprecated optparse to argparse.
Single version

- Keep the version string updated in a single location (version.py)
- setup.py must reside in the root directory or else "python setup.py
  install" fails when trying to import version.py.