Update beacon crate to spec v0.6.1 (#128)
* [WIP] Update all config and struct definitions * [WIP] Utils function spec update I * [WIP] Utils functions spec update II * [WIP] Re-init beacon Cherry-pick back old code rather than modifying it is easier to do -- as there are many changes. * [WIP] Cherry-pick back all types * [WIP] Cherry pick back all helpers * [WIP] Cherry-pick back validator status helpers * [WIP] Migrate back per epoch helpers * [WIP] Cherry-pick justification and finalization * [WIP] Redo crosslink and rewards * [WIP] Cherry-pick back all per epoch operations * [WIP] * [WIP] Port back all operations * Add state root verification * [WIP] Fix warnings * Finish fixing all warnings * Add function to execute block * Add back small config * Add new test repo * Update yamltests for the new format and pass those tests * Check block state root in execute_block * Add full tests * Update tests * Add back block builder * Fix other crate compile * Make beacon crate work again in no_std