using unsigned long for internal variables now --KW
minor changes; reformatting --KW
added destructor that frees allocated memory --KW
added flush(); added flush() to destructor; added flushInt test; flush() in the dtor causes a failure in the peek test for some reason --KW