Build support

Squashed commit of the following:

commit 59302c06c95b34286c435da6b74b4b1bd1894d21
Author: Alex Fish <alex@alexefish.com>
Date:   Sat Jul 12 20:35:50 2014 +0100

    Updating config samples

commit 3f1879e37d6c3dfc279971d472ee841f1f654745
Author: Alex Fish <alex@alexefish.com>
Date:   Sat Jul 12 20:27:13 2014 +0100

    Building projects from config yaml

commit 735ce9bfa563063599d1a18510a164b142f248a1
Author: Alex Fish <alex@alexefish.com>
Date:   Sat Jul 12 15:18:55 2014 +0100

    Adding project model

    * Updating tug yml

commit b97026eaeda3f8477b3a522c66f9651f5b85e29f
Author: Alex Fish <alex@alexefish.com>
Date:   Sat Jul 12 14:17:46 2014 +0100

    Updating readme and help banner

commit 96dd8599463cdf8655e0b8e6656554e0f3e27b75
Author: Alex Fish <alex@alexefish.com>
Date:   Sat Jul 12 13:59:34 2014 +0100

    Exiting on missing config

commit 2c2afff5136af33f52a57047f56dce13029d96e0
Author: Alex Fish <alex@alexefish.com>
Date:   Sat Jul 12 13:36:39 2014 +0100

    Executing xctool on build

commit 5b547373e672711177d2f490b69989c7cdffcbeb
Author: Alex Fish <alex@alexefish.com>
Date:   Fri Jul 11 22:11:55 2014 +0100

    Adding missing config file class

commit 9e0934fa59ecfc389cae75149019ead8f2da42ea
Author: Alex Fish <alex@alexefish.com>
Date:   Fri Jul 11 21:59:11 2014 +0100

    Checking for valid external file

commit eaa7e7265201ca76396d60a8156dc81f65510c5f
Author: Alex Fish <alex@alexefish.com>
Date:   Fri Jul 11 21:42:10 2014 +0100

    Outputting options on build

commit 1fe07d3849fb506db24e5040db8f9702d8d4ae6b
Author: Alex Fish <alex@alexefish.com>
Date:   Fri Jul 11 21:33:19 2014 +0100

    Adding badges to readme

commit f103634f2722a4589957d3a178ccebc707a3aa3b
Author: Alex Fish <alex@alexefish.com>
Date:   Fri Jul 11 21:21:53 2014 +0100

    Adding test out file

commit dff9df00dbd27841ac57c14b77763e1bf07b47cd
Author: Alex Fish <alex@alexefish.com>
Date:   Fri Jul 11 21:19:39 2014 +0100

    Adding travis config

commit 79819b17a11018b26abf485a90ca51cfebe29fd8
Author: Alex Fish <alex@alexefish.com>
Date:   Fri Jul 11 20:57:06 2014 +0100

    Adding missing config class

commit 96c4ac2928e4523778ead2b59fcfff6b03d2abee
Author: Alex Fish <alex@alexefish.com>
Date:   Fri Jul 11 20:55:39 2014 +0100

    Sending test output to rspec file

commit ec5353a4e0008efe286f71c1f60a62d46db003e0
Author: Alex Fish <alex@alexefish.com>
Date:   Fri Jul 11 20:55:20 2014 +0100

    Loading config file from disk

commit 0c3f17601d9f99f42be5226833ad99df2ce5da15
Author: Alex Fish <alex@alexefish.com>
Date:   Fri Jul 11 20:01:49 2014 +0100

    Adding config file

commit bd0ee2c7e28ce0c509bd8d4495b2a29dd546665c
Author: Alex Fish <alex@alexefish.com>
Date:   Fri Jul 11 16:19:35 2014 +0100

    Removing old files

commit 9a6a129b72b62258bec21e283a6cba411f06a412
Author: Alex Fish <alex@alexefish.com>
Date:   Fri Jul 11 16:01:59 2014 +0100

    Fixing imports

commit d9aa7293fac453a4caa5dc840380841d6655242c
Author: Alex Fish <alex@alexefish.com>
Date:   Fri Jul 11 16:01:10 2014 +0100

    Renaming folders

    * Adding sample config file

commit 2311cf43b27ec5089e5261bed33aff97fb5b91ca
Author: Alex Fish <alex@alexefish.com>
Date:   Fri Jul 11 15:29:57 2014 +0100

    Correctly parsing options

commit 3dd840d144d200387e612026aff0ac4b5eccd7d0
Author: Alex Fish <alex@alexefish.com>
Date:   Fri Jul 11 15:20:55 2014 +0100

    Adding config option

commit c2b4787c4efa8d732dabf144304e38e547515a78
Author: Alex Fish <alex@alexefish.com>
Date:   Fri Jul 11 15:07:26 2014 +0100

    Correctly parsing command

commit db0cb67d82e1175948d1544dc2c483c641ddd64d
Author: Alex Fish <alex@alexefish.com>
Date:   Fri Jul 11 14:41:20 2014 +0100

    Adding build command

commit 583a895e0bb850269da2b4d782c8abf795772844
Author: Alex Fish <alex@alexefish.com>
Date:   Thu Jul 10 21:14:43 2014 +0100

    Cleaning up output

commit 86e2f885c73f1b8c9d2b74b2a7e3a0e97c49d1e5
Author: Alex Fish <alex@alexefish.com>
Date:   Thu Jul 10 21:08:19 2014 +0100

    Adding command attribute to parser

commit 37f933441adb8349827972a06c0c8261ddb3b1f4
Author: Alex Fish <alex@alexefish.com>
Date:   Thu Jul 10 20:45:03 2014 +0100

    Deleting old files

commit 89bd7736314ae2163492a271eee1c9621eed9b9d
Author: Alex Fish <alex@alexefish.com>
Date:   Thu Jul 10 20:44:16 2014 +0100

    Updating command to remove dependency

commit 0a42978e7beb7e76bff75e2f0da417825e0676c9
Author: Alex Fish <alex@alexefish.com>
Date:   Thu Jul 10 19:39:23 2014 +0100

    Parsing "command" option

commit 2502c643a26c606d66c6f056c3a3bcdfb9a67761
Author: Alex Fish <alex@alexefish.com>
Date:   Thu Jul 10 19:21:38 2014 +0100

    Refactoring command

commit 6720d4f6b064168f8446009684fa60c652fe3202
Author: Alex Fish <alex@alexefish.com>
Date:   Thu Jul 10 17:05:00 2014 +0100

    Adding option parser

commit 9a4554902613ad295999b65990a04966cb27d966
Author: Alex Fish <alex@alexefish.com>
Date:   Thu Jul 10 16:11:06 2014 +0100

    Adding intial files