Added Additional Typings to Q

I think I've covered almost the entire surface area of the library with types where it made sense.