Rewrote lexer to not use boost::variant:

use of variant was redundant since the token struct already was tagged with a type

Signed-off-by: Collin Baker <chbaker0@gmail.com>