error handling & organization

Broke out the application (and renamed app to ccapi) in order to help
keep things better organized as the application grows. Routes are in one
place, the functions supporting routes will be in their own modules
inside the package.

The flask "abort" call is effective, but not dynamic enough to handle
the kind of returns I'd like to send through the API on various error
conditions. The API should expose carefully crafted errors which can
help to troubleshoot both client and server problems since this
application is meant for internal consumption.