Support tree_code and category for navigation #4721

product.tree_node is a far better hierarchial classification system
than product.category. Despite this, some sites may want to stay simple
and use category (which they might already use) for navigation.

This patch separates the rendering of top site navigation into _helpers
as two macros, for category and tree_node. Depending on the root navigation
model specified for the current website, the appropriate one is used