Added design decision documentation.

We will be using a few design patterns to help add pluggable
backends and an abstraction layer so frameworks like flask and
bottle could use horus as well.