implemented token caching with leak and extra delete detection

a new private free stack class was implemented where instead of deleting
tokens, tokens are saved on the free stack and reused upon new token
requests (new tokens are allocated when the free stack is empty); tokens
are deleted upon application termination by the free stack destructor

to detect token leaks (tokens newed but not deleted), a new private used
vector class was implemented where tokens are marked as used when newed
and marked as unused when deleted; includes a function for reporting any
token leaks to standard error at any time, but is also called by the
destructor upon termination of the application

to detect tokens deleted more than once, a new private deleted list
class was implemented where when tokens are deleted, if already marked
as unused, the token's text is added to the deleted list (a list of
strings); includes a function for reporting any extra deleted tokens to
standard error at any time, but is also called by the destructor upon
termination of the application

implemented overloaded token new and delete operator functions
corrected token text() function to prevent blank sub-code output
implemented a static report errors function to the token class
added call to static report errors function after each test line