title: Python deepcopy not copying right
body: <p>I have a class <code>NodesGIS(GeoDataFrame)</code> (NodesGIS therefore inherits from GeoDataFrame). I also have a class <code>WaterNetworkModel</code> whose attributes include an instance of <code>NodesGIS</code> called <code>nodes_gis</code>.</p>
  <p>However, when I deepcopy an instance of <code>WaterNetWorkModel</code>, the attribute <code>nodes_gis</code> in the copy is a <code>GeoDataFrame</code>. To make it more clear:</p>
  <pre class="lang-py prettyprint-override"><code>&gt;&gt;&gt; type(wn.nodes_gis) # wn is an instance of WaterNetWorkModel
  &lt;class 'wntr.network.model.NodesGIS'&gt;
  &gt;&gt;&gt; type(deepcopy(wn).nodes_gis)
  &lt;class 'geopandas.geodataframe.GeoDataFrame'&gt;
  </code></pre>
  <p>How can I make the attribute <code>nodes_gis</code> in the deep copy also have the type NodesGIS?</p>