Improvements to table.reconfigure behavior

* Fix crash reported in issue #2966.
* Make reconfigure less likely to put multiple shards on the same server.
* Allow users to specify more shards than there are servers if they want to
Beef up table.reconfigure test, so it should now act as a regression test for issue #2966.
Fix #3019.
Change back secs_to_ticks because of overflow concerns.
Add spaces around '*' operator.
Make interface.table_reconfigure also check whether distribution is even
Expand interface.table_reconfigure test to check that we prefer servers that held our data before, and that we prefer servers that don't hold other tables' data. Fixed a bug revealed by the improved test.
Merge branch 'tim_improve_reconfigure' into reql_admin
Merge remote-tracking branch 'origin/reql_admin' into michel_2879_reql_admin
Merge branch 'reql_admin' into tim_3019
Merge remote-tracking branch 'origin/reql_admin' into michel_2879_reql_admin
Polish stuff