1. You don't actually have to explicitly specify the reviewers, though it's advisable. There's also a bot (Deckard) that does this in the vast majority of projects, and (time allowing) humans also look at all pending changes one by one to catch those that fall off the process. You can find the lists of owners in Gerrit, under (IIRC) People -> List Groups. The projects that don't have an explicit group don't have restrictions and are owned by all Android Maintainers.
2. Code review = high-level decision, i.e. the change does something that is desirable, the edge cases are properly handled, the algorithmic complexity is OK, etc. Verification = the code style is OK, the code merges, builds, and (ideally) passes all tests. Typically, the former can only be done by someone familiar with the code, and the latter can be done with a bot.
3. +2 = approval, -2 = veto (the strongest), whereas +1 and -1 are just "good idea" and "bad idea" with no actual power. The numbers don't add up, so no amount of +1s can turn into a +2 or counter a -2.
4. +2 is the approval. In order for a maintainer to be able to submit the change, it needs at least one CR:+2 and one V:+1, with no CR:-2 and no V:-1.
JBQ