[storage] Add some tests for storage primitives (#529)

* [chores] Fix typo entitiy ➜ entity

* [storage] Extract push_pull_works_for_primitive macro

* [storage] Add tests for Tuple

* [storage] Add tests for Option, Result, Box

* [storage] Add tests for Array

* [storage] Add fuzz tests for primitives

* [chores] Fix typo

* [storage] Add fuzz test for HashMap::defrag

* [storage] Improve unit tests

* [storage] Clarify TestResult::discard
17 jobs for master in 8 minutes and 40 seconds (queued for 3 seconds)