pull all of Dom's changes in both magstock and binary1230 repo into vicki's branch

this would make vicki's develop branch be the most up to date develop branch containing all changes.  after this, we will pull this into Eli's develop branch.

After THAT we'll all only work out of Eli's develop branch and use github-flow workflow to work on stuff.  I think our workflow will be a lot more sane at that point.

Most of this huge change is changes that have already been looked at, but it's probably worth all of us signing off on this.