Adding the templated Circular buffer class

I am also just syncing the work I have done on the user and move class
just for back up. These are not complete.