Fixes and refactors

This is a rebased and fixed version of https://github.com/colinhumber/itunes_transporter_generator/pull/12

I added a few improvements while trying to use it to upload only localized screenshots for a particular version:
* Some sections aren't required by Transporter thus they can be optional, the code needed to consider that they may not be present in the config file.
* Add support to reference images from an arbitrary path and copy them to the itmsp file using a normalized name that prevent conflicts when the same filename is used for two display targets, iaps, leaderboard, etc. For instance, using ipad/screenshot_1.png and iphone4in/screenshot_1.png.
* Change the format of the screenshot section for a more concise version with 3 sections ipad, iphone_3.5in and iphone_4in:

```
versions:
  - name: 1.0.3
    locales:
      - name: en-US
        title: App name
        screenshots: 
          iphone_4in:
            - screenshots/iphone5/splash.png
            - screenshots/iphone5/attacking.png
            - screenshots/iphone5/defending.png
            - screenshots/iphone5/powerup.png
            - screenshots/iphone5/other.png
         ... other targets ...
```