Use Ginkgo directly to run tests

This means it can use its recursive magic.
Move main binary source to cli directory
Basic Config struct
Split out ConfigSource definition
Add specs for Config.Sources
Add specs for Config.Target