- only unit/CMakeLists.txt fetches googletest
- only unit/unit_common.cmake find LLVM dependencies
- use `WAMR_RUNTIME_LIB_SOURCE` to replace a long list
- enable LLVM support across various CMake configurations
- remove redundant LLVM dependency installation and add i386 support for libraries
- CMake configurations for better build output and module support
- Find llvm on demand
- Add test suite guidelines
```
CMake Error at CMakeLists.txt:4 (cmake_minimum_required):
Compatibility with CMake < 3.5 has been removed from CMake.
Update the VERSION argument <min> value. Or, use the <min>...<max> syntax
to tell CMake that the project requires at least <min> but has been updated
to work with policies introduced by <max> or earlier.
Or, add -DCMAKE_POLICY_VERSION_MINIMUM=3.5 to try configuring anyway.
```
There's probably a number of other places where the bh_leb_read could be used (e.g. aot loader)
but I'm making the change as small as possible. Further refactoring can be done later.