templated classes are now prefixed with basic_ like stl, and added typedef of the common versions.
Added virtual process_token that takes a double to pass.
  * Found that converting ascii to a double and visa versa is quite expensive.
  * might also help with rounding errors??
  * To help with transition, default implementation is to convert double to ascii and call the existing process token.
  * changed a few existing classes to call the double version of the next pass.  Not implementing double versions yet.  This actually simplified several parts of the code.