Source .cpp files on gist with Rcpp::sourceCpp (#511)

In https://github.com/wush978/devtools/commit/8470f0f790bb74a9e3f72cf55e98d1d0b370b7e4 to https://github.com/wush978/devtools/commit/93fe2304807a357aedb43978a75ad588842a8b35 :

- `souce_gist` will use either `source` or `Rcpp::sourceCpp` according to the file extension. The related parsers are implemented in `. parseJSON1`.
- Some tests are implemented in `tests/testthat/test-gist.r`
- All files in gist will be downloaded and renamed accordingly, so they could `source` each other with argument: `chdir = TRUE` with relative path. Please check the second test in `tests/testthat/test-gist.r`
- Some documentations are modified.
This is technically fine since any failures will get captured by `test_that`, but whenever running a block of code that has to change something back (like options or environment variables), I would suggest `local` in conjunction with `on.exit`, or `tryCatch`

```R
.R_TESTS <- Sys.getenv("R_TESTS")
try_catch(finally = Sys.setenv(R_TESTS = .R_TESTS), {
   Sys.setenv(R_TESTS = "")
   # test_that code goes here
})
```