Merging changes
Moving common resources to `Common` dir.

This is an attempt to aggregate all of the common C source files that all
of the projects use into a single directory, as we don't want to have
seperate copies of these files. All code in them should be common and *THE
SAME* in every project.