In particular, I'm looking for a solution that gives up control of the account and then gets it back after a given amount of time.
There actually is a new service, Eosio-Lock, that is trying to accomplish exactly this. They have a first iteration of their contract available online.
And their website is https://Eosio-Lock.net
This is an open source, third party solution that you can deploy to your own contract, or you can use their publicly deployed version.
How it works: the eosio-lock contract let's you set a period of time to lock your account as well as the key to restore when the time period expires. After the time period expires, you can call the unlock action of the eosio-lock contract and it will restore the keys.
Anyone can call unlock on any contract at any time. There is no authorization required. The only thing it checks is that the contract time period has expired and the contract can be unlocked.