primarily performance and correctness lint fixes

This is a long one, but it takes care of a decent amount of annoyingness and makes our code more obvious and explicit. Also cleaned up unused resources that have been sitting around for quite a while.

Performance improvements are largely around flattening layouts and minimizing memory leaks, correctness about hardcoded strings and explicit annotations for using APIs only available on certain platforms.

Went from 349 errors and 565 warnings to 2 errors and 62 warnings (the two errors will be corrected once translations are imported).
They can't assert @NotNull because we could provide an invalid id.  But if we do provide an invalid id, i'd rather get an npe rather than a silent pass.  I'd prefer you to leave it as it was, but if you want to do something you can assert.