Igor (major rewrite)

As a tool that helps you run experiments, the name "Igor" plays on the "Lab Assistant" role.

This branch introduces a major rewrite of the experiments infrastructure. It still relies on `experiments.rb` for some functionality, but is mostly a full rewrite which resides in `igor.rb`

## New features
- New Ruby DSL syntax for files
- Experiments submitted as batch jobs so they do their own writing to the SQLite database
- "Interactive" mode based on the DSL syntax and Pry's REPL (addressing Issue #2)
- Rebranding as "Igor" ("Lab Assistant", "Interactive Gathering Of Results")
- Object-oriented design

## Currently missing features (in original)
- "Expression" parameters that do calculation with other params

## Targeted features
- Extensible setup (and teardown?) code 
    - Grappa (and others) use this to, build, copy over binaries & libraries, etc.
- Better way to combine experiments? (brainstormed about new DSL features to allow multiple sweeps to be combined smoothly)
- Improved handling of params->flags, allow customized mapping from param name to flags
    - for example: the pattern `"--flushticks=%{flushticks}"` could be automatically filled in for all params
    - might have to be able to define parameter types, and optionally specify both sides for some