UP: DataProcessor, Stream, Iterable

Dalszy ciąg doszlifowywania strumieni i procesorów danych. Dodano kilka
wbudowanych procesorów, przydatnych przy przetwarzaniu plików:
Mirror::LineReader (serwuje wejście linijka po linijce), Mirror::Breaker
(serwuje wejście we fragmentach oddzielonych podanym ciągiem znaków,
który zostaje pominięty) oraz Mirror::NullTerminator, który dodaje
terminatora na koncu wejściowego ciągu (o ile nie jest pusty). :)
Przykładowy strumien do czytania pliku wyraz po wyrazie:
Stream s;
s.appendProcessor(LineReader());
s.appendProcessor(Breaker(" "));
s.appendProcessor(NullTerminator());

taki procesor będzie rzucać na wyjście pojedyńcze wyrazy odczytane z
wejścia, zakończone '\0'.

Inne zmiany: funkcje Iterable::while* kontynuują swoją pracę tak długo,
jak przekaza funkcja zwraca 'true' (analogicznie do pętli while). Nie
wiem co mnie pogięło, żeby na początku zrobić to odwrotnie...
Kilka porawek w Mirror::Gateway oraz dodano na czas próbny operator bool
dla Mirror::Array (jeżeli nie będzie konfliktów, to zostanie).