title: Transform timeseries dataframe with start/stop times labelled
body: <p>Say I generate a dataframe like so: </p>
  
  <pre><code>df = pd.DataFrame([[False]*2 + ['info']]*20 ,columns=['trip_start','trip_end','info'],index=pd.date_range('2019-01-01',freq='d', periods=20))
  df.iat[1,0] = df.iat[3,1] = True
  df.iat[10,0] = df.iat[15,1] = True
  </code></pre>
  
  <p>So my dataframe looks like this:</p>
  
  <pre><code>index       trip_start  trip_end  info
  2019-01-01       False     False  info
  2019-01-02        True     False  info
  2019-01-03       False     False  info
  2019-01-04       False      True  info
  2019-01-05       False     False  info
  2019-01-06       False     False  info
  2019-01-07       False     False  info
  2019-01-08       False     False  info
  2019-01-09       False     False  info
  2019-01-10       False     False  info
  2019-01-11        True     False  info
  2019-01-12       False     False  info
  2019-01-13       False     False  info
  2019-01-14       False     False  info
  2019-01-15       False     False  info
  2019-01-16       False      True  info
  2019-01-17       False     False  info
  2019-01-18       False     False  info
  2019-01-19       False     False  info
  2019-01-20       False     False  info
  </code></pre>
  
  <p>I need to transform this dataframe such that each row is a trip:</p>
  
  <pre><code>index start_date    end_date    start_info end_info
      1 2019-01-02    2019-01-04  info       info
      2 2019-01-11    2019-01-16  info       info
  </code></pre>
  
  <p>I can do this by iterating though row by row, but I'm hoping there's a clever way to do this. The trip start/end times are guaranteed to be in order in the original dataframe (ie alternating trip start/trip end).</p>