add selfJoin option - Juan
Merge branch 'changes_Juan' of https://github.com/sjyk/sampleclean-async into changes_Juan
1. Simplify dedup interface
2. Add selfjoin optimization
3. Add a mapper from col name to col index which makes user programs
independant on physical storage of data
4. Provide a more flexible way to specify blockingStrategy and
ActiveLearningStrategy parameters
5. Enable users to run machine-only dedup
Implement attr-level deduplication
finish testing machine-only dedup
Merge pull request #2 from sjyk/changes_Juan

Merging this back to master "Changes juan"
Added in deduplication api call
Merge pull request #3 from sjyk/attr_dedup_api_call

Added in deduplication api call
Updated attr deduplication with a connected componenets algorithm
Merge pull request #4 from sjyk/connected_components

Updated attr deduplication with a connected componenets algorithm
Refactored crowd server so it can be used standalone without active learning, added a sample program that does so.
Renamed amt_server to crowd_server.
Added a base app with generic models/views for interacting with a crowd.
Refactored AMT models to use the base model.
Fixes to views and storage so that AMT now runs on the basecrowd abstraction.
Updating celery tasks for basecrowd model.
Added better start/stop scripts for the crowd server.