Feature: MailChimp integration with the OSF

Purpose
-----------
We mostly email users for administrative reasons (confirm account email, accept an invite to the OSF, recover password, etc.) but not to keep them up to date with new features. MailChimp will allow us to easily manage lists of OSF users and can handle subscribing/unsubscribing as well as provide us with useful metrics. 

Changes
-------------
The `sync_email.py` script will subscribe all registered OSF users to a mailing list on MailChimp. Whenever a user registers with the OSF, they will automatically be added to the mailing list as well. 

Users can change their subscribe/unsubscribe status through their user settings page: 
![screen shot 2014-11-25 at 11 34 10 am](https://cloud.githubusercontent.com/assets/6414394/5186921/7891a2d4-7497-11e4-90f1-c47b119b1f50.png)

And if a user unsubscribes through one of our emails, that change is reflected on their settings page. 
`400` is a very generic status code. You will want to show an error message for *most* `400` responses, just not the one you get when unsubscribing to a list you're not subscribed to.

How about adding an error type (in the Python view) so that you can check for it here

```python
# in your view
raise HTTPError(http.BAD_REQUEST, dict(message_long=...., error_type='not_subscribed'))
```

```
// in your fail handler
if (xhr.responseJSON.error_type !== 'not_subscribed') {
    // show message
}