Fix lack of force in `map` and `mapWithKey` for `VMap`:
Previous implementation was wrongfully iterating just over the vector of values, which itself is lazy, causing unexpected thunk buildup. Technically it is a nice optimization, since that would mean there is no iteration over the vector of keys, however, without forcing everyone to switch to newest version of `vector-0.13.2.0` that introduced `Data.Vector.Strict` we cannot have a strict `map` (using `mapM` is out of the question, since it has terrible perfomrance) This commit also adds strictness tests for `map` and `mapWithKey` and a `noThunks` instance for future compatibility