An abstract class representing any request made to Roller that has been
parsed in order to extract relevant pieces of information from the url.
NOTE: It is extremely important to mention that this class and all of its
subclasses are meant to be extremely light weight. Meaning they should
avoid any time consuming operations at all costs, especially operations
which require a trip to the db. Those operations should be used very, very
sparingly and should only be triggered when it's guaranteed that they are
needed.
Parse the given http request and extract any information we can.
This abstract version of the constructor gathers info likely to be
relevant to all requests to Roller.