* fixed#333
* Added instruction in case api-key is not set.
* addressed some of the review changes:
1. moved function definiton to useCallback.
2. added a cache to store the env key status and the api call is made only on a cache miss.
* Manages the API-key entered via UI in a better way.
- Persist API keys in cookies when entered via UI
- Automatically load saved keys when switching between providers
- Preserve existing functionality for environment variable based keys
* Re-used map from utils/constants file.
* Code cleanup - Removed redundant API key init in BaseChat as its already handled by APIKeyManager component.