changes the name of RegisterCreateFlags, it doesn't really register any more

Signed-off-by: Simon Thulbourn <simon+github@thulbourn.com>
abstracts parsing of the create flags in to a structure

Signed-off-by: Simon Thulbourn <simon+github@thulbourn.com>
uses an interface to allow context to be passed around

Signed-off-by: Simon Thulbourn <simon+github@thulbourn.com>