Fixed issue with throttle updates not getting properly cancelled when enabling hash.js.  Also added better handling for optional values and name values so that only optional values are invoked when patterns in the url generate empty string matches.  name values should not generate any empty strings when matching