Add .DS_Store directories to the .gitignore

This is "a hidden file with a proprietary format created by OSX to store custom
attributes of the folder".
http://en.wikipedia.org/wiki/.DS_Store

It does not need to be checked into source control!
Background process to compute client-specific result scores

This has the following main components:
- A new method for the plugin architecture "runBackgroundTasks"
- Implementations of the new method for the clients we have so far - gamified,
  carshare, and testclient
- A new top level script that invokes the background tasks to precompute results for all users
- A default implementation for users who are not part of a client

This allows us to replace the carbon footprint calculation in the default data
view with a precomputed result as well.

Couple of other things to note:
- I also moved the client count from User to userclient since it deals with both user and client
    - Updated unit tests to handle this
- Added a new unit test for the background invocation
- Documented the design decision for future reference
Merge pull request #25 from shankari/gamification

Background process to compute client-specific result scores