Create Expression.h

Whether you can add the two expressions is going to be constant so we don't need separate implementations in each class. However, the way each operation is handled will change, so those methods are virtual and will need to be implemented in each subclass of Expression.