Adapt core build system to allow building out-of-tree

Simply define `BUILDDIR` to where you would like build output to go.
Merge branch 'feature/build-out-of-tree' of https://github.com/frida/capstone into config
Makefile: fix clean targets and put all test binaries under BUILDIR/tests/
Makefile: avoid redefining BUILDDIR, so we can remove its directory in clean target