Sustainers performance enhancements

 - Replaces strtotime('now') in a few places where being off by a second or two shouldn't matter.
 - Changes the by_member() call on the sustainer edit form to by_masterdid().
 - Updates the by_member() query to use the base table in the WHERE clause instead of the joined table.
 - Creates a count remaining donation query that doesn't use a LEFT JOIN or ORDER BY and does the count inside the query. This is used on the sustainer edit form and on the donation success hook implementation.

strtotime('now') is called twice in this function. This function advances the charge date to "now" and so can use REQUEST_TIME instead.