Fix dozens of memory violations in builtins, mostly detected by the smalloc memory allocator. The fixes include (but not limited to the) following: - Cease the usage of the low mem considerably by calling the helpers directly. - Protect do_call_back() against re-entering. This was happening when eg. cmdline is interrupted by ^C, it was not able to recover. - Track all the allocations of load_and_run_DOS_program() to free it on termination (leaks). - On dos_read()/dos_write() set int0x23 to our return point, so that dosemu can recover even in case of ^C. - Fix com_strfree() to free the region of a proper size. - dos_helper_r is no longer necessary. - com_dosread() was not checking the size specified by caller - memory corruption. - memory corruption with builtin_name, no longer use DOS mem for it. - etc... git-svn-id: https://dosemu.svn.sourceforge.net/svnroot/dosemu/trunk@669 7758b857-130e-0410-ab9c-d8735a528d18