674 renewals

Makes renewals not crappy (#674)
* Max renewal length cannot give a length that would cause the renewed reservation to end on a blackout date, or conflict with any other validation except duration (with testing coverage!)
* Renewal action in reservations controller abstracts most logic to an instance method .renew