New parameter string parsing implementation

Rewrote our parameter string parsing to match the Rack implementation and added unit tests to verify the implementation
We typically put nonatomic first. Although these might be best shared between instances via a class method, since they’re the same for all instances.