Coding challenge submission

See USAGE.md for notes about architecture, usage, limitations and what needs to be refactored in order for this to really scale. If I had the time, there's a ton more that can be done before this is really useful, but this should provide at least an overview of where it's intended to go.

If you have any questions (or feedback!), send it my way

Cheers,
- Jason