WIP: Add support for activate/deactivate scripts

This provides a mechanism for packages to run scripts on activate and deactivate.  The idea is that a script would provide a startup and shutdown script that starts something when activated and stops it when deactivating.  The use case I've been working from is supervisord, which would also start other packages that are installed *and* provide a mechanism for inspecting the state of those running applications.

## Tasks
* [x] Modify `activate` / `deactivate` to run scripts
* [x] Ensure that calling `activate` from within an activated environment causes the deactivating environment to call the various shutdown scripts
* [x] Ensure Windows support
* [x] Ensure it works on zsh
* [ ] Modify `conda run` to ensure that anything run in an environment runs activate prior to running and deactivate after it's run
* [ ] Create package that utilizes this feature for testing purposes
* [ ] Create documentation for how to utilize this feature
* [ ] Add test coverage

## Testing
You can test this PR by installing it and manually creating files like this:

`$PREFIX/etc/conda/activate.d/run-on-start.sh`

```bash
#!/bin/bash
echo "run-on-start invoked while activating an environment"
```

`$PREFIX/etc/conda/deactivate.d/run-on-stop.sh`

```bash
#!/bin/bash
echo "run-on-stop invoked while deactivating an environment"
```