Hostname use

Added:
- *_try_assigned_hostname* fn which assigns generated *hostname* if conditions are met,
- unittests for *_try_assigned_hostname* fn,
- functional tests,
- migrations merged,
- signal *device_hostname_assigning*.

@ar4s @quamilek 
Why duplicated ``asset.hostname, asset.hostname``.