Added a couple of functions to fix paths in utils
Changed name of ibuilder/bus/README to NYSA_README

This is so the README of the Xilinx Builder will take precedence inside
the build directory
Added new Error for project generator
modified wishbone template

Now the template incorporates the new build system
Changed name of ibuilder/bus/README to NYSA_README

This test was failing when I changed the name
Renamed tester.py to gotest.py

Besides being much cooler to call the test controller gotest.py it also
helps because autocomplete won't get stuck on 'test'
implemented new project_generator controller

I fixed some old mistaked with openenning the template and configuration
file. Now the functions will throw up a ProjectGeneratorError instead of
a generic IOError, TypeErorr, etc... this will hopefully help in finding
bugs in that file

also instead of relying on the module_processor script to fix the paths
of the wishbone template I fix the paths within the read_template file,
this is nice because I know that by the time I leave the
read_template_file all the dictionary entries are native to the current
operating system and there is no ${NYSA} to parse

Implemented a 'recursive_copy' keyword in a directory in the template.
This helps with the build tool. Now I can freely add files to build
template and I won't have to explicitly declare that I changed things
within the template, it will just know that it needs to copy the entire
directory tree to the project path

Moved ibuilder/lib/xilinx_builder to ibuilder/xilinx_builder. Much
cleaner because it's not really part of the library, and the previous
method of controlling a build with tickle was terrible, error prone and
not flexible, now with this new build structure I have a lot more
freedom and theoretically the build is much more portable