Changes test_source date_gen to only emit trading days.

Based on @fawce's work on record_vars branch.
Adds the ability to record variables.

Takes the value set for a variable on handle_data and records it,
e.g.:
```
    def initialize(self):
        self.incr = 0
        self.record_variables(['incr'])

    def handle_data(self, data):
        self.incr += 1
```

Would record a variable of `incr`.

Emits the recorded variables as part of the daily performance.

This batch combins work from:
Thomas Wiecki <thomas.wiecki@gmail.com> (@twiecki)
fawce <fawce@quantopian.com> (@fawce)
Adds recorded variable to dual moving average example.

Attr: Thomas Wiecki <thomas.wiecki@gmail.com> (@twiecki)
Fixes trading day generation logic in test source.

This uses more of @fawce's original logic from record_var branch.

TODO: Add unit test to ensure that this function generates only
market days.
Merge branch 'master' of git://github.com/quantopian/zipline