fdo#79427 after execute() a ResultSet is expected to be BeforeFirst

Squash the three commits in master:
 Change-Id: I38091d1ee2161d6e32da3a0bde60e3fc008aa83d
 Change-Id: Iaa881d055923702acbb96862d187af41a6ded730
 Change-Id: I3e34f77ce37c239d8d3d6a8cd7514b125b049de6

1) fdo#79427 after execute() a ResultSet is expected to be BeforeFirst

2) clean up fdo#79427 fix: force BeforeFirst only at execute(), not updateRow()

3) dbaccess::ORowSet: separate impl_rebuild_throw

   Used by two different callers that wanted different things.
   Also, freeResources now always positions on BeforeFirst.
   It is only called with _bComplete==false by execute()-related code.

Change-Id: I3cce4334c4ed49855c98fbe5960fb68685c61ed9
Reviewed-on: https://gerrit.libreoffice.org/9813
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>