parser: changed to return a standard unique pointer

changed the parser functions to return a standard unique point instead
of a shared pointer as there is no reason for the pointer to be shared
within the parser as they go out of scope at the end of each function

added an alias for a unique token pointer
changed table new token function to return a unique token pointer
simplified the handling of REM code in the get identifier routine