Update .gitignore and remove cruft

The previous gitignore had some weird merge conflict lines that
have been removed.

In addition, new local-only files (such as ansible vars and
local_settings) have been added to prevent people from making
silly mistakes
Use versioned requirements from pip freeze

The canonical way to deal with requirements is to use
pip freeze:

source /path/to/env/bin/activate
pip freeze > requirements.txt

In this case the mysql requirement was *removed*. Instead
this requirement will be installed by the provisioner.

Note non-project related eggs should be installed globally
or removed manually from requirements.txt (such as ipython)
Split settings up in regular and local settings

Many settings are actually global and required for the app to run
correctly. The sane defaults for these are now in settings.py.

Other settings that change on an app-to-app basis have been moved
to "local_settings.py" ("local_settings.example.py").

Also note that the sunlight labs API key can now be inserted
directly into the local_settings file.
Cicero search should use django settings

Now that local_settings contains all of the settings for the app we can
extract the cicero things in an idiomatic way.
Add default Vagrantfile and shell provisioner

Vagrant is a virtual machine management tool (http://vagrantup.com)
Adding a Vagrantfile directly to the repository allows us to say:

vagrant up

And get a fresh vm to work with
Create ansible provisioning setup

Ansible is a new up-and-comming provisioning system (http://ansible.cc).
It makes similar guarantees to Chef or Puppet (such as idempotentcey)
but do all of their configuration in a sexy yaml format.

The current setup integrates will with vagrant. The basic steps to
get a working StateRep.me installation boil down to:

cp playbooks/ansible_vars.example.yml playbooks/ansible_vars.yml
$EDITOR playbooks/ansible_vars.yml

vagrant up
scripts/vagrant-ansible

And then head on over to: localhost:6060 and you're golden.
Allow non-PA legislator ids in the url

The url was previously restricting the ids to "PAL\d+". Now it should
match any two uppercase characters followed by 'L' and digits.
Use auto-increment field for primary keys

Seems like many of the models don't use normal integer based primary
keys. Either way, adding in new items was a huge hassle which should
be made easier now.
Add WSGI file for gunicorn running

Older versions of django require this file so that gunicorn
knows how to run the django app.
Merge pull request #13 from ahinz/topic/ansible

General automation and de-pennsylvaniation of the site