revive-integration 1.0.0

revive compiler integration test cases
// SPDX-License-Identifier: MIT

pragma solidity ^0.8;

// Use a non-zero call gas that works with call gas clipping but not with a truncate. 

/* runner.json
{
    "differential": true,
    "actions": [
        {
            "Upload": {
                "code": {
                    "Solidity": {
                        "contract": "Other"
                    }
                }
            }
        },
        {
            "Instantiate": {
                "code": {
                    "Solidity": {
                        "contract": "CallGas"
                    }
                },
                "data": "1000000000000000000000000000000000000000000000000000000000000001"
            }
        }
    ]
}
*/

contract Other {
    address public last;
    uint public foo;

    fallback() external {
        last = msg.sender; 
        foo += 1;
    }
}

contract CallGas {
    constructor(uint _gas) payable {
        Other other = new Other();
        address(other).call{ gas: _gas }(hex"");
        assert(other.last() == address(this));
    }
}