i don't _really_ want to encourage the use of wrap-base as i think it
is usually the wrong place to add middleware to.
instead adding a placeholder :middleware list to the reitit ring-handler
as the intended alternative place for "global" middleware that needs to
be applied regardless of a reitit route match
this is more flexible, allowing a few http-kit functions to be called
against it (including one to stop http-kit), versus the alternate
return type which is just a simple function that can be called to stop
http-kit
this is ALSO what i thought i had done already, thus why the stop
function found below in this very same defstate is written to call
`http-kit/server-stop!` which won't actually work without setting
legacy-return-value? to false. oopsie! :-)
separate out the uberjar profile so that the bits that control the
classpath are in a separate profile (now called "release") which can
be more easily brought in separately during development to test, without
being forced to build an uberjar to test
remove the uberjar alias, which only was added because i did not
realize that leiningen by default automatically does a clean before
building a jar (???)