Replace singletons with @functools.lru_cache() decorator
- [x] `CurrencySymbol`
- [x] `BlockchainParams`
- [x] `HeadBlock`
- [x] `UDValue`
- [x] `ClientInstance`
---
Use `@functools.lru_cache(maxsize=1)` decorator:
- [Blog article: Simple singletons](https://cosmiccoding.com.au/tutorials/simple_singletons)
- [Python doc: `functools.lru_cache`](https://docs.python.org/3/library/functools.html#functools.lru_cache)
issue