Soco with style

I thought i was time to clean up the SoCo code a bit, so I ran it though the combination of style checkers that I usually use (pep8, pylint and pyflakes) and corrected almost all the warnings that made sense.

This is really a continuation of the work in #9, but since such large patches age really fast I started over and included more code checkers.

The status of the code now is this:
**2 pylint warnings disabled for good reason:**
* 1 for the entire file
 * C0302: Too many lines in module (%s) is disabled for the entire file
* 3 for specific lines, 3 occurrences in total
 * R0903: Too few public methods (%s/%s)
 * R0904: Too many public methods (%s/%s)
 * C0103: Invalid name "%s" (should match %s)

**1 pylint warning that is disabled that indicate a problem that should be fixed, but in its own pull request**
* 1 for specific lines, 2 occurences in total
 * W0702: No exception type(s) specified

**4 warnings remain when running the code
* 1 for an old TODO
* 3 for FIXME's that I inserted, that I think indicate problems with the XML that I want to have a look at later.

As a part of the clean up I also reformatted all the XML into a more readable manner.

This patch deletes 313 lines and adds 684, which means 2 things:

1. It is not unlikely that a few errors crept in there, but I think it needed to be done, so lets deal with the fall out now. In any case, I hope someone will review it make sure that they are as few as possible. The code does pass the unit tests, but that coverage of those is not complete.
2. This patch will also age fast. Since it touches so many lines it will quickly results in merge conflicts and become difficult to maintain. So I hope we can have it reviewed and pulled fast.

Regards Kenneth