Challenge submission for Sr. Software Engineer position

## Hello!

As requested by my recruiter, LaRae Holliday, here's my fork of the code challenge for the Sr. Software Engineer position.

* I'd suggest reading the [README.md](https://github.com/smallsleepingtree/data-engineering/blob/master/README.md) first, before diving in, since it explains my process a bit and suggests some things to look at; most pertinent (in case of TL;DR) is this excerpt:

  >My process for building this app reflects the way I develop any app intended for production, and the commit log reflects this. Walking through the commits (starting with 70b69f0), therefore, would be a good way to discover my thought process and development approach, if you are so inclined<sup>1</sup>. Almost all of the commits have extended messages that attempt to tell the development story.

* The actual installation and configuration instructions are in [DEPLOYMENT.md](https://github.com/smallsleepingtree/data-engineering/blob/master/DEPLOYMENT.md).

* There are some simple usage instructions for the "end user" in the [README.md file](https://github.com/smallsleepingtree/data-engineering/blob/master/whats_the_deal_with_rails/README.md) in the `whats_the_deal_with_rails` subdirectory (which is actually where the Rails app lives).

* If you want to see the running app right away without all that "deployment" nonsense, it's here: [whats-the-deal.herokuapp.com](http://whats-the-deal.herokuapp.com)<sup>2</sup>.  If you register for an account there (using the obtusely named "Register for An Account" form), I'll get an email and I'll authorize you (and make you an admin) ASAP.

I put forth a concerted effort to contain my personality while completing this challenge, but some of it accidentally leaked out, so I genuinely apologize for that.  Unless you like personality, in which case **I TOTALLY MEANT IT**.

xoxo,
Ravi Gadad
@ravigadad<sup>3</sup>

<sup>1</sup>: I usually clone the project/branch and use a client like GitX or Giggle to easily read through commit messages and diffs sequentially, when I'm doing code reviews.  This approach is only possible if one is using a computer.  If, instead, you've printed out the entire diff for this pull request, 1) I'm extremely concerned and 2) please remember to recycle.  Printed diffs make great wrapping paper or [origami boats](http://www.origamiway.com/origami-boat.shtml).

<sup>2</sup>: It may not come up right away, if it hasn't been accessed in a while - just give it a few seconds for the dyno to spin back up.

<sup>3</sup>: This account, @smallsleepingtree, is *not* my usual github account; see the aforementioned [README.md](https://github.com/smallsleepingtree/data-engineering/blob/master/README.md) for an explanation.