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"))`.
Ensure double quotes escaped
Handle empty / null strings
Private equals method
Merge branch 'master' into feature/local-repos-widget
Use 'chr' rather than hard-coded quotes
Remove ellipses
Match width of 'external.packages' TextArea w/ 'local.repos'
Merge pull request #136 from rstudio/feature/local-repos-widget

Use widget for adding / removing local.repos