This should make it easier to add new crates to the repo (e.g. no need
to add CI jobs for each one), and just generally makes more sense than
stuffing everything that is not quiche itself under tools/.
Pretty much all the changes are related to build scripts and related
things. All the actual code is just moved around.
Currently the Docker images are built from a subdirectory, which
prevents the Dockerfile from accessing files outside of the directory.
This in turn means that in order to build the quiche-apps, the
Dockerfile needs to clone a whole new copy of quiche via git and build
it from scratch.
This is very inefficient (slowing down CI builds), and it also prevents
building images from a non-master branch for local testing.
This change simply shuffles files around to allow the Docker images to
be built from the pre-existing checkout of the quiche repository.