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.

Originally time() was called outside of the loop and inside the loop. I'd almost suggest using REQUEST_TIME here too but haven't put enough thought into it. time() at least doesn't need to be called in every iteration of the loop.