API: add a common base type

There are lots of common attributes so lets make a common
base type. We also want to make more common attributes like
project_id, user_id and timestamps.

Note:
- type and tags are now added consistantly on all classes.
- this requires a bit of correction in the samples

part of blueprint api
Change-Id: I777da24b8e1d0f9aed94650b645818814e631e0f
Merge "API: add a common base type"