Big update based on a cool idea from a forked version from Pierre-Luc Bacon. Agents, environments and experiments registry via decorators on classes which simplifies running experiments quite a bit. Also, added method to agents to allow them to randomize parameters so that we can easily run randomized parameter exploration trials. To go along with this also added the randomized trial experiment which does what you would expected. In addition to an interactive run script (pyrl/rlglue/run.py) due to Pierre, experiments can also be run by loading a configuration from a json file. This is intended to be used to allow creating a configuration for some research study and then it can easily be sent out to a cluster and run many times. Will need to actually test it out in practice to see how smoothly that works, but seems nice so far. If people have better ideas or approaches, there may be better ways to do this, so let me know. This also includes a number of smaller updates. I've tested all the agents on mountain car (just to debug before the commit) and they all work well for *some* parameter settings. More extensive testing is, as always, needed. I've also added a folder 'studies' which is meant to be used for scripts that combine things together into short scripts that run multiple related experiments. The only one there right now is one for comparing step-size algorithms (since that is what I'm doing right now).