If I am only interested in the newest collections/granules that have been populated since the last time I checked, what's the easiest way to do that via the API?
The updated_since parameter can show you what data has been modified since you last checked. Here's an example showing which collections have been updated since the start of 2016:
"description": "Revisions with revision date later than provided value",
Is there a way to distinguish between brand-new collections and those whose metadata have been simply revised?
With most of the response formats a revision id is returned. If the revision id is 1 then it's a brand new collection.