relay: completely overhaul parsing

* stick much closer to RFC spec for terminology (i.e. rawSource -> prefix)
* parse prefixes properly
* initial parsing of CAP commands
* make sub-parser only have data relevant to them - remove the rest beforehand