add project struture w/ intended routes/lib/tests files
add message stream receive functionality and initial rules application algorithm

message route follows standard express structure

the first (maybe last!) iteration of the rules application algorithm
maintains two indexes per rule:

si (stream index): is the last valid starting position for a given rule in the stream
                   eg: stream "ABA" w/ rule "BABA" has an si = 1 ("ABA"[1] = "B")
pi (position index):  is the current comparison index in a rule
                      eg: stream "ABAB" w/ rule "BABA" has a pi = 2 ("BABA"[2] = "B")

comparison of pi to latest stream character determins whether rule is still valid
 - if valid and (si-pi == rule.length) drop rule key value
 - if valid and (si-pi != rule.length) pi++
 - if !valid reset pi to 0 and increment si to end of current stream