One big issue on the ultimate EPiServer developer enviroment is these two maps below AppData (or VPP or where you like to put them). You need them and I have not found any way to let them be autorestored (like you can do with standard nuget-package) and to add 8600 files to Git or any other source control system feels bad.
Have anyone found any good way to deal with this, or do you have these folders versioncontrolled?
If you will upgrade to EPiServer 7.6 - shell module is served directly from .zip file under modules/_protected.
About NuGet Restore I do have another opinion - more inspiration you can get here.
I would go for everything to have under source control - even if you install new AddOn on target site, I would try to reflect it back to dev env., builds and source control. In that case I would get at least info - when and what was upgraded.