Initialise output after input stream for downloads (avoids 0-byte file)

In class FileDownloader, FileOutputStream 'outStream' is now only
initialised *after* the InputStream on the URL to be downloaded has been
opened successfully. This avoids the creation of 0-byte files in case of
server, proxy or other connection problems.
There are three Ubuntu books now: 10.04, 11.04, 12.04
Add book "Visual C# 2012" (closes issue #10)
Update MD5 for JAVA_INSEL

Galileo Press seems to have changed the dowbnload file.
Maybe they fixed some errata.
Update MD5 of VCSHARP_2012
Make sure to keep non-element nodes (fixes #11)

When moving the main content of the nested "grey table" directly under
the BODY tag and removing the previously surrounding clutter, only
element nodes were moved, but other content (such as dangling text
nodes) were ignored and thus lost. This affected content in several
books in different degrees:
  - actionscript_1_und_2
  - actionscript_einstieg
  - apps_iphone
  - asp_net
  - dreamweaver_8
  - excel_2007
  - it_handbuch
  - java_7
  - java_insel
  - javascript_ajax
  - joomla_1_5
  - linux
  - linux_unix_prog
  - microsoft_netzwerk
  - php_pear
  - python
  - ruby_on_rails_2
  - shell_prog
  - ubuntu_11_04
  - ubuntu_12_04
  - unix_guru
  - vcsharp_2010