pandastrike/PandaCluster — pull request #1 by PandaPup (2014-12-22 18:02:16+00:00)
Title: Refactor CLI Parsing and Main Library to Use Functional Style

There are still bugs to work out, but this refactor is aimed to respect functional style.

## Command-Line Parsing
The separate command-line parsing functions (one for each sub-command) have been replaced by a single function that engages in meta-parsing. It pulls a "definition" from a CSON file `argument_definitions.cson` and uses that to direct its actions. Adding or editing sub-commands is much cleaner now.

## Main Library
This is a little buggy still. I pulled out repetitive code and am making use of the `lift` function, instead of manually wrapping functions in promises. I also added a `set_aws_creds` function so that each function that makes a call to AWS does not have to know an external state. It is self-contained and stateless.