Add a 'restore packages' dialog

This generates a dialog built on top of
packrat:::getRestoreActionMessages(), and gives a small dialog box
outlining what actions would be performed by a packrat::restore()
invocation. When 'Restore' is clicked, packrat::restore() is executed in
the console.
Merge branch 'master' into feature/packrat-restore-actions

Conflicts:
	src/cpp/session/modules/SessionPackrat.R
	src/gwt/src/org/rstudio/studio/client/packrat/Packrat.java
	src/gwt/src/org/rstudio/studio/client/packrat/model/PackratServerOperations.java
	src/gwt/src/org/rstudio/studio/client/server/remote/RemoteServer.java
Add back missing imports
Transform NA to '< missing >' for display in IDE
Merge branch 'master' into feature/packrat-restore-actions

Conflicts:
	src/gwt/src/org/rstudio/studio/client/packrat/model/PackratServerOperations.java
	src/gwt/src/org/rstudio/studio/client/server/remote/RemoteServer.java
Fix merge
Use default cancel button
Remove listPackagesPackrat server ops method
Merge branch 'master' into feature/packrat-restore-actions
support for editing packrat options
Merge branch 'master' of github.com:rstudio/rstudio
Merge branch 'master' into feature/packrat-restore-actions

Conflicts:
	src/gwt/src/org/rstudio/studio/client/packrat/Packrat.java
Don't include spaces in < missing > to avoid wrapping problems
Use ModalDialog<Void> instead of ModalDialogBase
Whitespace / formatting
Add onPackratHelp back in for now (should have it as a redirect eventually)
always return valid default packrat options
install R build tools if necessary before enabling packrat
don't auto-install packrat
short delay before prompting to install build tools