Initial commit of the analytics tools.

These tools are taken from the short-lived kilnhg repo
Website/analytics/stable, which itself was taken from the kilnhg repo
backup-and-analytics/Group/stable.

Here are the commit comments from Website/analytics/stable, newest first:
---
changeset:   7:b0fa630eda28
tag:         tip
parent:      3:65b0337b0dad
parent:      6:66e39229d7ca
user:        Craig Silverstein <csilvers@khanacademy.org>
date:        Tue May 15 15:58:20 2012 -0700
description:
merge

changeset:   6:66e39229d7ca
user:        Ben Komalo <benkomalo@khanacademy.org>
date:        Tue May 15 15:55:16 2012 -0700
files:       tools/runlint.py tools/runlint_blacklist.txt
description:
Add in a linting tool and seed it with a blacklist of the currently failing files.

All new commits to new files should pass linting.

changeset:   5:cf3fb06c036c
user:        Ben Komalo <benkomalo@khanacademy.org>
date:        Tue May 15 15:51:18 2012 -0700
files:       src/fetch_entities.py
description:
Drive by fixes to fetch_entities.py

- remove some unused code
- add some docstrings and TODO
- misc lint fixes

changeset:   4:619acfae32ad
parent:      0:d9f0939a27a0
user:        Ben Komalo <benkomalo@khanacademy.org>
date:        Tue May 15 15:49:24 2012 -0700
files:       .hgignore
description:
Add in initial .hgignore file.

This includes secrets.py and access_token.py - we should never check in credential related information.

changeset:   3:65b0337b0dad
user:        Craig Silverstein <csilvers@khanacademy.org>
date:        Tue May 15 15:56:02 2012 -0700
files:       cfg/aws/ka-high-mem/README
description:
Fix the instructions to mention the new code-repo location.

I also added some instructions to install the dotfiles, which are now
checked in to the repo!

changeset:   2:13ac381e5107
user:        Craig Silverstein <csilvers@khanacademy.org>
date:        Tue May 15 15:53:30 2012 -0700
files:       cfg/aws/ka-high-mem/README
description:
Move the install instructions over from the old backup-and-analytics repo.

I also added instructions for setting up mail.

changeset:   1:8c4b75f22b32
user:        Craig Silverstein <csilvers@khanacademy.org>
date:        Tue May 15 15:52:50 2012 -0700
files:       cfg/aws/ka-high-mem/crontab
description:
Cleanup: remove dependency on homedir, remove unused cronjob, clean grammar.

Also, send mail when there's a problem with log-fetching.  We may want
to send more mail later.

Cleanups:

1) Just get rid of a commented-out cronjob.  That's what source
control is for!

2) Use ~ instead of hard-coding in the name of the home directory.

3) Use a timeout on the log-fetching so we don't have to worry about
them piling up.

changeset:   0:d9f0939a27a0
user:        Jace Kohlmeier <jace@khanacademy.org>
date:        Tue May 15 15:34:40 2012 -0700
files:       cfg/aws/ka-high-mem/crontab cfg/bulk_download.json cfg/dot_bash_profile cfg/gae_download.json src/analysis/README src/bulk_download.py src/csv_util.py src/daily_exercise_stats.py src/fetch_entities.py src/fetch_entities.sh src/fetch_logs.py src/fetch_logs.sh src/gae_download.py src/ka_util.py src/mongo_examples.py src/mongo_util.py src/oauth_util/__init__.py src/oauth_util/consts.py src/oauth_util/fetch_url.py src/oauth_util/get_access_token.py src/oauth_util/oauth.py src/oauth_util/test_oauth_client.py third_party/pygeoip.py tools/deploy.py webapps/README webapps/daily_exercise_stats/README webapps/daily_exercise_stats/daily_ex_stats.html webapps/daily_exercise_stats/highcharts.js
description:
It's morning in analytics land.  Let's keep in clean out there.
---