Normalized execute results to ArrayCollection

- Original logic used array operations that didn't work
  on ArrayCollections, so refactored to use ArrayCollections all the
  time, although I am unsure as to why Doctrine ORM does not do this.
- Also getSingleResult reuses getOneOrNull logic
Merge pull request #222 from dantleech/fix_single_result_array_collection

Normalized execute results to ArrayCollection