Pattern parser (continued)

?, * and + work
Need to finish on groups (nearly finished)