comphelper: code refactor

Change-Id: Ica71d0691cf02aeaa03b6570015d9828cd7daeed
comphelper: EmbeddedObjectContainer::GetObjectStream methods

These methods were added to provide access to the stream to the
embedded object itself.

Change-Id: I0a47a54852cddbd5ddd0a6599bba21999afd96ba
filter: Code reduction, prevents crash.

Not all shape types have the full com.sun.star. prefix, for example
FrameShape. The existing code would crash in that case, but the new
code doesn't.

Change-Id: I9aa3d0f20f48ab91a6770e8409a8da2028816504
sw: Preserve embedded spreadsheets in docx

Embedded spreadsheets consist on two files:

* The spreadsheet found in word/embeddings/ directory.
* A preview image found in word/media/ directory.

This patch saves these two files and writes the proper XML to the
document. It looks like this:

    <w:object>
      <v:shape id="ole_rId2"
      style="width:362.55pt;height:145.7pt" o:ole="">
        <v:imagedata r:id="rId3" />
      </v:shape>
      <o:OLEObject Type="Embed" ProgID="Excel.Sheet.12"
      ShapeID="ole_rId2" DrawAspect="Content"
      ObjectID="_227653443" r:id="rId2" />
    </w:object>

Some simplifications were done in comparison with the XML generated
by Word; the lines above seem to be the minimum working code.

Similarly to drawings, charts, etc. our code postpones the actual
process of the OLE objects until the rPr tag is closed.

TODO:
* Unit tests.
* Add information about xlsx extension to [Content_Types].xml
  * Without that, Word doesn't detect the OLE as an spreadsheet.

Change-Id: Ia0c797b72cd6e99ca9ad7fa11897b62ab3867a5e
sw: Unit test for spreadsheets embedded in docx

Change-Id: I0a91ea0ca36d57320c3495a5cedba7924d3a7ea7