add very high level documentation

Mostly mention all the high-level components and the overall
data/control flow that would happen during normal operation.