Prevent empty routes from firing twice after can.route.ready

Addresses #1185 with a test and a fix.

The problem was a check to see if a value that used to be there was no longer there, and calls removeAttr on that property. This check was lazy and checked for falsiness rather than the true absence of a property, so it was trying to remove a property on the "route" property, which in the case of an empty route, is an empty string, and thus falsey.