text: Title: Change <Model>.from_dict() to a @classmethod
  Body: **Is your feature request related to a problem? Please describe.**
  I want to be able to extend a model generated by this project in my business logic. A basic example would be:
  
  ```python
  # GeneratedModel generated by openapi-python-client
  
  class EnhancedGeneratedModel(GeneratedModel):
    def id_eq(self, other: GeneratedModel) -> bool:
       return self.id == other.id
  ```
  
  I cannot use `EnhancedGeneratedModel.from_dict` as that would return a `GeneratedModel`.
  
  
  
  **Describe the solution you'd like**
  Update the [`from_dict`](https://github.com/triaxtec/openapi-python-client/blob/196a8fc7c6c0abeb0b9b690a4cb9cbfed7fbe994/openapi_python_client/templates/model.pyi#L34) template in `openapi_python_client/templates/model.pyi` to be a `@classmethod` instead of a `@staticmethod` and use the passed class object to instantiate the model.
  
  i.e. change from
  ```python
  @staticmethod
  def from_dict(d: Dict[str, Any]) -> "{{ model.reference.class_name }}":
    # ... 
    return {{ model.reference.class_name }}(...)
  ```
  to
  
  ```python
  @classmethod
  def from_dict(cls, d: Dict[str, Any]) -> "{{ model.reference.class_name }}":
    # ... 
    return cls(...)
  ```
  
  **Describe alternatives you've considered**
  Manually creating a `from_dict` method on the extended class.