Added record() functionality to accept dynamic names

In response to https://github.com/quantopian/qexec/issues/3142

Added functionality for record to accept positional args of the form (str1, value1, str2, value2, ... ) before the keyword arguments. This enables the user to record values with names defined by dynamic strings rather than hardcoding.

This PR is a precursor to a qexec PR which enables full functionality of this feature through the API. I'll submit the qexec PR as soon as this PR has been merged.
I realize this is probably copy/pasted from other tests, but is there a good reason for running the full 252 days here?  That will end up being a decent-length test, and it seems like overkill for this functionality.  Maybe consider moving this up into `TestRecordAlgorithm` which only runs 4 bars, which should be plenty for testing this functionality.