Adds get_or_create_record to skaldship.hosts

New function, get_or_create_record, for routines that want to return a t_hosts
record from an IP address or t_hosts.id. If IP provided but does not exist
get_or_create_record will create a new record with the list of arguments
added after validation against t_hosts.fields.

Default for f_asset_group = undefined
Default for f_engineer = 1 (only used when no session)

Doctests don't run, they're just there for later support when testing is decided upon.