Develop integration testing and run during CI

* separate directories for unit tests and integration tests
* text files directory for testing server functions
* module for s3 utility functions
* module for file comparison utility functions
* module for generating random keys and meta data
* handle server executable within tests
* basic test for PUT and GET
* PUT and GET test for zero-byte file
* add integration testing to CI
* correct Clang Tidy job
* PUT command supports optional meta data
* test for GETMD
* test that GET with bad key fails
* test that PUT with used key fails
5 jobs for 33-add-integration-tests in 5 minutes and 45 seconds (queued for 1 second)