Use widget for adding / removing local.repos

Also read / write 'local.repos', 'external.packages' as vector
arguments, rather than single strings. The interface allowing for
'external.packages' to be written as a comma-separated list of values is
kept; ie, we accept `packrat::set_opts(external.packages = "foo, bar")`
as well as `packrat::set_opts(external.packages = c("foo", "bar"))`.