Enforce version

 - Adds a `npm-shrinkwrap-version` key to enforce we always use the latest version of `npm-shrinkwrap`.
 - Removes sorted object logic from set resolved & moves it to fix from field.
 - Adds code to ensure we don't lose the extra fields when npm shrinkwrap runs.

cc @sh1mmer 

cc @jcorbin this is the version enforcing fix I mentioned.