[composer] Fix a memory leak when destroying compositions
Add missing #infndef to qgscomposeritemgroup.h
[composer] Fixes to composer item sip bindings

- Added some missing /TransferThis/ arguments
- Ensure that correct item type is returned for all item types
[composer] Move code for creating groups to QgsComposition

Previously this code was located in QgsComposerView. Moving it to
QgsComposition simplifies grouping items for plugins. Also start
a new unit test for QgsComposerItemGroup.
[composer] Move ungrouping logic from composer view to composition

As per previous commit, this is useful for plugin authors. It also
fixes a potential bad crash (itemRemoved emitted for group item after
the group item was already deleted) and adds unit tests.
Expand composer item group test suite