Externalize apt config 2

This PR is dependent on PR #141 

This PR is the first application of the config directory and it's purpose is externalizing of the configuration of APT into config/apt/.
Previously this was hardcoded in the installation script, but now you can adjust it in 'any' way you like.
The sources.list file is required, but can be adjusted to include for example 'contrib' and 'non-free'.
Other files ending in .list will be added to /etc/apt/sources.list.d/ and included in this PR is the raspberrypi.org list, which can be deleted if you don't want that :wink:
You can also included apt preferences file and those files need to end with .pref and will be added to /etc/apt/preferences.d/. Included in this PR is the preference to install vcgenmod and friends from raspbian and not raspberrypi.org, which was previously hardcoded in the installation script.
Both .list and .pref files have a special 'variable' named __RELEASE__ which will be replaced at installation time with the release config value.
And then there's the option to include .key files in the directory which allows you to add extra repositories key files to APT so that they are trusted.

This would close issue #98 
wouldn't something like this (writing out of my head, don't judge :grin: ) work?

    sed -i 's/.../.../' file_to_replace_in
    if [ ${?} -ne 0]; then something_wrong