Refactor directory structure and move some code around.

Also add an initial unit test.
Add pip requirements file.
Add a random price source.
Add an initial trading agent.
Initial controller code.

The controller supplies decisions to the trading agent based on ticks
from a price source. The decision making kernel needs to be abstracted
out of this. Also, the knobs (lower and upper bounds) are currently hard
coded and need to be abstracted too.