Add cacheing manager for seldom changing data

Abstracts the workout types fetching and saveing then caches them into user defaults