resolves #241 avoid collision between branch name and object property
- store references in a Map instead of Object when filtering
- store tag names under symbol keys in map to avoid conflict with branch entries
- promote git types to top-level constants
- use Map instead of object to hold include tags
- store layouts in a map instead of an object