AcediaCore is moving towards separation of all of its functionality into
3 big groups: general, client-specific, server-specific. And files will
be rearranged into `BaseRealms`, `ClientRealm` and `ServerRealm`
accordingly.
Additional directory `CoreRealm` is meant to contain functionality and
base classes common for both `ClientRealm` and `ServerRealm` ones.
Previously `Iter` was meant to be a collection iterator class, but now
we need a more generalized notion of iterator, so we move some
collection-specific methods out and designate `Iter` a general iterator
class, while `CollectionIterator` takes its former place.
This is a giga commit, something that should not really be done with
git, but I messed up.
This commit brings a great amount of changes, most important is
reworking `TextAPI` and alsmost complete replacement of `string` with
`Text`/`MutableText`.
Another huge change is introduction of command system that allows to
define commands in a centralized manner, handles auto-parsing of
their parameters and auto generates help info.
Lastly, JSON data types were replaced with new
`DynamicArray`/`AssociativeArray` that are better designed and more
generic.