1. Implement support for accumulation of transient blocks consisting of infants and adults (Block<NonElder>).
2. Hold "transient" blocks for the following purposes:
2.1. They can be provided to a joining node;
2.2. They can be used to infer the last Live block for adult or elder (or just keep a struct field hashes_of_last_live_block: [Hash; MAX_RELOCATION_ATTEMPTS] and update it when a new adult/elder Live block accumulates).