title: Subtract in moment js not exactly
body: <p>I have function calculate last month when send start day of month like this
  <code>
  last_date_from = moment(date_from).subtract(1, 'months');
  last_date_to = moment(last_date_from).endOf("month").startOf("day");
  </code>
  When i send object moment start day </p>
  
  <pre><code>Moment {_isAMomentObject: true, _isUTC: true, _pf: Object, _locale: Locale, _d: Tue Mar 01 2016 00:00:00 GMT+0700 (ICT)…}
  _d: Tue Mar 01 2016 00:00:00 GMT+0700 (ICT)
  _isAMomentObject: true
  _isUTC: true
  _isValid: true
  _locale: Locale
  _offset: 0
  _pf: Object
  __proto__: Moment
  </code></pre>
  
  <p>Funtion will return 2 result last_date_from and last_date_to:</p>
  
  <pre><code>d: Sat Jan 30 2016 00:00:00 GMT+0700 (ICT)
  _isAMomentObject: true
  _isUTC: true
  _isValid: true
  _locale: Locale
  _offset: 0
  _pf: Object
  __proto__: Moment
  </code></pre>
  
  <p>Last_date_to is:</p>
  
  <pre><code>_d: Sun Jan 31 2016 07:00:00 GMT+0700 (ICT)
  __proto__: Date
  _isAMomentObject: true
  _isUTC: true
  _isValid: true
  _locale: Locale
  _offset: 0
  _pf: Object
  __proto__: Moment
  </code></pre>
  
  <p>Expected result last_date_from is 1/2/2016 why result is 30/1/2016. I know this year. February have 29 days. How to fix this ? Sorry my English is not good</p>