Outline for the abstract service class

This is a draft for `AbstractService`, please tel me if this is OK so I can start make the other service classes. 

On gicmos demand the `models` package is now a top level package.