Under the term "subchecker", I mean checkers that do not have a checker class on their own, like unix.MallocChecker to unix.DynamicMemoryModeling.
Since a checker object was required in order to retrieve checker options, subcheckers couldn't possess options on their own. This patch also aims to fix a bug mentioned in D54438#1375858, but since I couldn't reproduce the error, I'm marking it as WIP.
This patch is also an excuse to change the argument order of getChecker*Option, it always bothered me, now it resembles the actual command line argument (checkername:option=value).
While I do know it is not your code, but we should not validate user input with asserts. Maybe adding a fixme here would be useful.