Make sections optional, avoid screenshots conflicts, refactor screeenshots section

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 the screenshots 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. 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 ...
```