Make Config less dependent on command-line flags, reduce boilerplate

Previously, consumption from an external go package would require a largely manual configuration of a ShuttleConfig in which all of the defaults were copied over. This refactor supports a much simpler creation of a config with reasonable defaults.

Additionally, the MakeBasicBits and Shutdown functions can now be exported from the package, meaning they don't need to be copied-and-pasted into an external program that wants to leverage log-shuttle since they can now be wrapped up in a `Shuttle` type which exports the necessary features on the object directly.
Personally, I dislike code that bundles crazy side effects like spawning thread/goroutines, opening sockets, in a "constructor." I'd rather make this an explicit step such that starting can be delayed.