Complete refactor of course cart system so it now works with the browse
page properly.