Update env.bash

Add project parameter for supported shell.
Prototype SSH backends for llab authentication

- Add openssh_copyid_backend for lock-file based
  cat'ing of the ~/.ssh/authorized_keys. This is
  a fall-back method to the preferred way.
- Add llab-authorize-keys to act as an
  authorized_keys_script for supported OpenSSH
  platforms. Your OpenSSH instance must be patched
  to support execution of an authorized_keys_script
  file.
- Add settings.py SSH_BACKEND to allow user to
  choose a backend.
- Add lockfile to requirements.txt
- Simplified IV for encrypt/decrypt
Add clone support for projects

- Add new upload-pack dispatch method
- Add ssh_user for utils pertaining to authenticated users
Add post-receive hook logic for project

- Add model interpretation of post-receive git hook
Add method lstree to class Git
Prototype Commit, Branch, and Tag models

- Add json_field dependency to requirements.txt
Add parents m2m relationship to Commit
Prototype CommitComment
Add __unicode__ method to CommitComment
Add support for displaying revision tree

- Add method revtree() which creates a directory tree with the last
  revisions for a particular file
Expanded Commit model to be more closer in design
Add Commit details to model

- Add additional logic to static/classmethod creation.
Add support for copying hooks into new repository
Standardize to use the first 7 chars of commit
Fix bug with un-named related_names for Commit
Add delete support for openssh_copyid_backend

- This is delete for the backend that supports "manual"
  key additions to the ~/.ssh/authorized_keys backend
Add logic to check for unique ssh keys for a user

- Prevents the user from creating duplicate keys or keys with the same
  name.
- Update template to focus on "new key" tab when there are errors.
Add fix to difflist referencing repo.store

- repo.store -> repo.object_store
Add pytz requirement
Add timezone information to author/commit objects

- Update Commit model to use pytz for proper timestamps