added abstraction package

the abstraction packages contains all the interfaces used by the application.
Allow user to specify workout session date.

Before the workout session date was always the current date. Now there is a new form field to let the user specify a session date if it was in the past.