Removed BodyFlags, using Tags

Replaced BodyFlags with a list of body Tags. They will use a couple more
bytes, but make the body flag code general (as opposed to people having
to edit it to add their own flags).
BUGFIX: Should materialize key list before iterating over it