Started on an implementation for Arcs

I've made a quick start on arcs.

We should get a .gitignore file set up so that some of these files aren't committed, such as .o files and the codeblocks .depend and .layout files.