FIX: invoking a widget with data-part overrides within a data-part

invoking a widget with data-part overrides within a data-part does not work.

example:
<div data-bind="widget: outer">
 <div data-part="outer-widget-part">
  <div data-bind="widget: inner">
   <div data-part="inner-widget-part">
     this will not take effect
   </div>
  </div>
 </div>
</div>

reason: the outer widget consumes the data-part of the inner widget.

solution: ignore data-parts within widget bindings
Fixed issue which caused optimizer to fail to launch RequireJS when run from command line
Raw import of history/router code.

-Brought the history/router code in from Backbone.
-Put code into two AMD modules.
-Made some style changes.
-Updated experimental docs with descriptions.
Cleanup of router conversion.

Prepping for the real work...
Tweaks to experimental modules.
Major cleanup on new history module.
A little more reorg.
Some work prepping new router for actual code.
Adding some helpers to system and refactoring where appropriate.
Some more prep to implement the real router.
Tweaking the new router api.
Tons of work on the new router.
Adding some more missing basics to the new router.
A little closer to a functional router.
Adding  nav model capability and cleaning up the API of the router.
Some more router cleanup and bug fixes.
Robust mapping of unknown routes.
Better deep link support in new router.
More control over deep linking in new router.
Minor improvement to nav model building.