abstract class for inventory items. Implements Comparable and Serializable for sorting