Final 0.5.0

Final revision for 0.5.0 that I am happy with. Everything else will now be put into 1.0.0 which will include all unit tests and some improved functions.