Added support for required files

Squashed commit of the following:

commit aca387cfec352e4cab455be9c024385aeae10c86
Author: Eric-Paul Lecluse <e@epologee.com>
Date:   Tue Jan 7 14:46:06 2014 +0100

    Support for required files done for now. Also improved error display.

commit 5365f02d364c105faf991a76ca9399eba3db2fa6
Author: Eric-Paul Lecluse <e@epologee.com>
Date:   Tue Jan 7 14:41:04 2014 +0100

    Bumped version.

commit ae8f852f919561b0a90d547a81209dd5113c7081
Author: Eric-Paul Lecluse <e@epologee.com>
Date:   Tue Jan 7 11:57:36 2014 +0100

    Rename to prevent auto fixture finding conflict.

commit be2163af63b74e8b7ee55b37d37139ae112dc42e
Author: Eric-Paul Lecluse <e@epologee.com>
Date:   Tue Jan 7 11:54:11 2014 +0100

    Renamed Template::File to Template::RequiredFile to prevent naming collisions.

commit 5fb9c87e2513cbee80dc9ad1914f6f3407481cf3
Author: Eric-Paul Lecluse <e@epologee.com>
Date:   Tue Jan 7 11:37:01 2014 +0100

    Sanitized check on the file name.

commit 12313b07796df55fa95504d304d814c9b6d212b1
Author: Eric-Paul Lecluse <e@epologee.com>
Date:   Tue Jan 7 10:50:01 2014 +0100

    Added a new File class to use in specs and Klippfiles.
Alleviated gem build warnings.
Required files will create the parent directory structure.
Bumped version.