Only store a 32 byte root for every shard block
Rationale: originally, I added shard block chunking (store 4 chunks for every shard block instead of one root) to facilitate construction of data availability roots. However, it turns out that there is an easier technique. Set the width of the data availability rectangle's rows to be 1/4 the max size of a shard block, so each block would fill multiple rows. Then, non-full blocks will generally create lots of zero rows. For example if the block bodies are `31415926535` and `897932` with a max size of 24 bytes, the rows might look like this:
```
31415926
53500000
00000000
89793200
00000000
00000000
```
Zero rows would extend rightward to complete zero rows, and when extending downward we can count the number of zero rows, and reduce the number of extra rows that we make, so we only make a new row for every nonzero row in the original data. This way we get only a close-to-optimal ~4-5x blowup in the data even if the data has zero rows in the middle.
* p2p-interface: clarify that signing_root is used for block requests
* hash cleanups
* one more hash tree root gone for blocks - block hashes are always
signing roots!
* use simple serialize data types consistently
* Describe which finalized root/epoch to use
* remove custody_bits from attestation
* remove AttestationDataAndCustodyBit
* Specify inclusive range for genesis deposits
* add initial fork choice bounce prevention and tests
* PR feedback
* further test bounce attack
* wipe queued justified after epoch transition
* remove extra var
* minor fmt
* only allow attestatiosn to be considered from current and previous epoch
* use best_justified_checkpoint instead of queued_justified_checkpoints
* use helper for slots since epoch start
* be explicit about use of genesis epoch for previous epoch in fork choice on_block
* pr feedback
* add note aboutgenesis attestations
* cleanup get_eth1_vote
* make eth1_follow_distance clearer
* Update the expected proposer period
Since `SECONDS_PER_SLOT` is now `12`
* minor fix to comment in mainnet config
* Update 0_beacon-chain.md