Implement RemoveHistory()

Also fixed a bug in how AddHistory would link, and did not correctly keep
track of the currentHistory pointer