make main.cpp into *.cpp and *.h
Assign the features to realize for everybody.
Plus one virtual function called put_error() in the file shl_io_api.h.
And add its implement in the file console.cpp.But all of this haven't been tested.
Merge branch 'master', remote-tracking branch 'lsm/master'
Merge branch 'pipetest', remote-tracking branch 'lsm/pipetest' into pipetest