map and join surrogates

These functions from std library make compilation too slow for low-end machine,
so these surogates are now created as swap-in replacements
Create nostd.array.empty()

It is surrogate for std.array.empty(), to improve compile speed
Move hex() into utils.str_format

utils.str_format is created
White space change
Remove not relevant TODO

Bounded repeat is already implemented in parser as syntactic sugar,
for Sequence&Repeat
Reuse same names of regexAST children nodes

regexAST - single node
regexASTs - array of nodes
Remove duplication from RegexAst classes

Very similar things extracted into base classes SingleChild & ManyChildren.
Similar things that were moved: child element, constructors, toString method.