scanner<> default for add, feeding to copy in base
make signal protected and add pass()
trim names of scanners, make reset()/scan() public, fix calls in buffered_scanner