* Removed redundant interfaces IWithValue<T> and IWithOldValue<T> as they and their methods are unused.
* Removed redundant extensions and util classes/methods as they are unused by anything in the library
* Created AssemblyInfo.cs file to contain [assembly] attributes to expose internal types and methods to the UnityAtomsEditor assembly. This makes it easier to keep non-user facing code as internal, but still expose it for Editor usage.
* Removed AtomsLogger as this class does not add any value to the library. Some situations where it was being used in to warn of missing components such as OnButtonClickHook were doing so to warn of a missing component when it was already guaranteed to be there via the [RequireComponent] attribute (situation could never occur where it was not present). In some cases it was being used situationally like an Assert for situations where an NRE or other exception would immediately follow. Replacing these with an Assert accomplishes the same goal of removing these logging checks for non-editor builds while at the same time forcefully throwing an error with a more user-friendly error if a non-descript error would immediately be thrown.
* Where logs were being made previously with AtomsLogger, if not replaced with an Assert or removed entirely they are now being made with a const LogPrefix in new internal static class RuntimeConstants
* Updated README
* ScriptableObjectList now implements IList
* Made ScriptableObjectList field a List again
* Fixed problems related to changing IList to List
* Update Source/Base/ScriptableObjectList.cs
Co-Authored-By: mutmedia <gustavo.ceci95@gmail.com>