log: major `bs_log` and `log_tape` refactor
log: major `bs_log` and `log_tape` refactor

1) Strictly follow the rule "lvalues are stored in log tape by lvalue
references, rvalues -- by value (via moving)".

2) Simplify code, make it more clean and efficient -- use moves wherever
possible, reduce number of copies/moves when growing tape.

3) Allow log tapes concatenation with limitations. Actually, limitations
are rather strong, s.t. this future is barely usable in real life.
Concatenation of tapes results in concatenation of underlying tuples
with level taken from first tape. That means that formatting string in
first tuple should contain placeholders for all tape elements. Hence, it
would be easier to just construct full tape from the beginning.
Looking forward to improve concatenation.

uentity/blue-sky-re,uentity/blue-sky-re,uentity/blue-sky-re