Added the `xsource` command

`xsource` is an “extended” `source` command which augments the latter by
a few functions reminiscent of a module system. The differences between
`xsource` and `source` are:

* Less arguments. `source` has many options, `xsource` is parsimonious
  by design – it works by assuming defaults instead.
* Its argument is given as an identifier rather than a file name string.
  The identifier corresponds to the module’s nested path inside the
  search path, without a file extension, and with the path separators
  replaced by `.`.
  For instance, to load the file `foo.R` in the local directory, the
  user would specify `xsource(foo)` (the local directory is always the
  first search path). Similarly, to load the file `foo/bar/baz.R`, where
  `foo` is in the search path, the user would specify `source(bar.baz)`.
  The search path is a character vector that can be specified via
  `options(xsourcePath=…)`.
* Search paths are searched linearly, starting with the current working
  dir. Sourcing fails if no match to the full module path is found in
  any search path.
* Internally, the file is sourced as if `chdir=TRUE` were specified.
* No other arguments are allowed.
Merge branch 'xsource'