fixing layout/page context issue from #424

This change moves the extending of the context to outside of the "page layout" if statement. It also adds the `layout.data` to the extension chain. This will be populated with either the `defaultLayout` context (usually defined in `options.layout`, or the context from the layout stack starting in the page yfm.