This is the basis of the client-side support for Packages:
- Installed packages are under `~/.cache/arcanist-packages/<identifier>-<version>`.
- A package has a manifest file called `.arcpackage`.
- A package can be Requested from any config source, as `packages`, an array of objects.
This change includes:
- loading requested packages that are installed
- list all installed packages
- a flow to install a package (but not to configure loading it).
-----
To configure a package, this goes in any config file:
```lang=json
{
"packages": [
{
"identifier": "pk1",
"version": "1.12"
},
{
"identifier": "aviv.demo1",
"version":"1.0"
}
]
}
```
and a manifest looks like this:
```lang=json, name=.arcpackage
{
"identifier": "aviv.demo1",
"version": "1.0",
"Description": "An important demo package"
}
```
The `--install-from-tgz` flow is obviously just temporary, to be replaced later with better setup.