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.
Not sure what L1 and L2 are referring to here, otherwise :+1: for this comment.