[MERGE FIRST]Fix to the public api for missing elements

If an outcome or question was missing an element
we were blowing up, when it is actually legal to
have them missing. Now return nil instead.
(This was the behaviour before 0.11.0)
absolutely no idea how that line: `elements.select { |element| markdown_element?(element) }.markdown_elements` ever worked at all :-S
it would have been blowing up quite consistently, can we add a test to cover this?