make abstract dialect more abstract

This fixes two problems in particular:
  - there was no existing way to access information about the model
    you were generating a limit and offset for, so the model has been
    added to the options
  - included where generation was done from raw SQL, making it impossible
    to support other dialects that don't support the same LIMIT syntax


**optionally** I would consider simply passing "model" into addLimitAndOffset, I just didn't know which way you all would prefer (I was trying to modify the mssql dialect with minimal changes to the existing abstract dialect).