Constexpr slice mania.
Fix slices test. Use slices::sort instead of std::sort.
Hash implementation for strings, will be used for future map container.
Use debug flags always for now.
Rename _utils.cc -> utils.cc.

Only header files should follow that convention.
Add a bunch of utilities.

That includes a fastrand PRNG which is useful for certain purposes and a
malloc/free which does abort() on failure.
Use internal malloc/free for all the raw allocation purposes.
Small documentation fix.

It was introduced after moving from ordinary function to constexpr ones.
Add unsafe attach/detach functions to vector and string.
Add for each loop support for strings.

It does automatic decoding of the utf8 sequences, the resulting type is
rune_and_offset, perhaps isn't the best name, but I'll leave it for now.

Also there is support for iterating over slices, but requires explicit
initialization:

	for (const auto &iter : string_iter(s.sub(5, 10))) {
		// ...
	}
Remove vector.cc, it was unused anyway.
Fix string_iter. Now it doesn't depend on the 'end' part.
slices: index function should return len()+1 on an empty separator.
Emphasize that end() iterator is meaningless.
A couple of renames.

abort_error_t -> abort_error
abort_error -> default_error
Don't extract local classes documentation.
Add tables generator for unicode module.
Add unicode module and tests.
Add map container, which is a hash table.
Comment out fmt.hh usage from map's tests for now.