Basic functionality of lexer, currently implemented with regex.

`boost::lexical_cast` is obviously not enough; I'll add a way
to specify own converters by specializing a function in
`reaver::lexer`, defaulting to `boost::lexical_cast` or by
passing the converter explicitly to `add()`.