Change token and transaction structures
It most resolve the following problems :
- If a token is provided as a child of a merkle root token, we can't verify its creation script has been executed. It means we can forge unauthorized tokens. The token structure should store a "tree parent" field and allow script to test who is the token parent (another token or the yggdrasil itself)
- The final hash of a token is not known in advance which complexify synchronization for light clients.