Make generate_migration task provide more descriptive error.
Add a rudimentary license feature

So that we can use it to trigger other features on the box, e.g.
those that rely on certain types of licenses to decide whether to
enable themselves. Notably, we'll use this to detect if a certain
license is present to decide whether to enable root shell access.