* [WIP] Unity Environment Registry
[JIRA ticket](https://jira.unity3d.com/browse/MLA-997)
[Design Document](https://docs.google.com/document/d/1bFQ3_oXsA80FMou8kwqYxC53kqG5L3i0mbTQUH4shY4/edit#)
In This PR : Prototype of the Unity Environment Registry
Uploaded the 3DBall and Basic Environments for mac only
How to use on Python :
```python
from mlagents_envs.registry import UnityEnvRegistry
registry = UnityEnvRegistry()
print(registry["3DBall"].description)
env = registry["3DBall"].make()
env.reset()
for i in range(10):
print(i)
env.step()
env.close()
```
* Other approach:
- UnityEnvRegistry is no longer static and needs to be instantiated
- Providing a default_registry that will contains our environments
- Added a functionality to register RemoteRegistryEntry with a yaml file
* Some extra verification of the url : The binary will have a hash of the url in its name to make sure the right environ...
* Making some things private in UnityEnvironment
* Readding the default ports as public
* removing _SCALAR_ACTION_TYPES and _SINGLE_BRAIN_ACTION_TYPES
* Removing unused method
* Replaced get_behavior_names and get_behavior_spec with behavior_specs property
* Fixing the test
* [ci]
* addressing some comments
* use typing.Mapping (#3948)
* Update ml-agents-envs/mlagents_envs/base_env.py
Co-authored-by: Chris Elion <chris.elion@unity3d.com>
* Adding the documentation
Co-authored-by: Chris Elion <chris.elion@unity3d.com>