Deal with linking to different versions of SDKs and packages.

Also eliminate the "useHistory" branch and just work off of main. We currently
have a "useHistory" flag that can be set to true or false depending on whether
you want to test locally or deploy on appengine. More code cleanup to go, but
this is a start.

This CL is a merge of master and the "useHistory" branch. With the commit of
this patch, we'll remove the useHistory branch and move everything to master.

Full review is found at: https://codereview.chromium.org/300223006/
BUG=

Review URL: https://codereview.chromium.org//304503009