Ensure that taskState cache is unique for task within multiproject build
Use a separate incremental compile cache for each task

- Create a CachingHasher when initializing cache for native compilation
Removed Hasher api and implementations into separate package