* Ports the basic deflate and related items from prusa3d/PrusaSlicer for AMF deflate.
Implements #4511
* Actually add the tests to read files.
* Push all the utils into one header.
* Revise slightly to ensure we end up in the logic and just rely on strcmp to check the buffer against the magic key.
* Use more compatible CMake construction?
* Build using cmake3 on travis.
* Fix use of strcmp; remove unused config definition
* throw an exception if bad zip file
* Use correct string header for cstrings; terminate buffer.
* Insist on CMake >= 3.9, actually install it on Travis
* Use VERSION_STRING instead for boost
* Use VERSION_GREATER_EQUAL to look for 1.74 or higher when attempting to include nowide
* invert logic to do what we want
* All build systems are terrible in their own way.
* #4620
Invalidate posDetectSurfaces during make_perimeters() when posSlice would also get invalidated.
Can't use invalidate_step() as that invalidates the perimeters as well.
* Add a test step to check for regression #4620 - behavior on running Print::process() again on the same model.
* Fix naming scheme for macos/osx builds to make it obvious if it is a PR or not.
* Remove previous versions of the same kind of branch or PR ID
* Adjust copied statements to account for different calling conventions; osx does not have an arch name argument for make_dmg
* Remember to set the version too
* Update windows build server command to clean up old branch builds.
* Specifically look for PR${PR_ID} instead of just ${PR_ID} to avoid unintentional deletions.
* don't symlink pull requests
* Update to call more functions on osx
* Only delete/clean once, not once per file uploaded.
* Use GCC8 toolchain
* Allow appimage to preload included libgcc_s and stdc++ if necessary.
* Need to add header for boost::noncopyable
* use const strings for exceptions.
* use right header dir for shim
* Only use swrast_dri from appimage if it's old or doesn't exist.
* added note about where the apprun script was source from, thanks @darealshinji