Use RJS for updating cookbook urls

Greatly reduce the amount of spaghetti jQuery code by rendering
update.js.erb and either rendering the updated cookbook urls into the
.cookbook-urls div or rendering an error message. This also has a nice
side effect of letting us take advantage of l18n for success/failure
messages. Additionally this adds abide so the URL validation is handled
on the client side with server side validation as a fallback.