Fix LifecycleEnvironment.{build,create}

> When a new lifecycle environment is created, it must either:
>
> * Reference some other lifecycle environment via the "prior" field.
> * Have a name of "Library". Note that within a given organization, there
>   can only be a single lifecycle environment with a name of "Library".

Override method `LifecycleEnvironment.build`, thus allowing one to easily create
new lifecycle environments. Incidentally, this also prevents a recursive death
spiral from occurring when `build` or `create` are called.

Update `tests/foreman/api/test_multiple_paths.py` to take advantage of this
change.
Discussed this in IRC. Here's a lightly edited excerpt:

> \<omaciel> if satellite fails to create that Library by default
> \<omaciel> for whatever reason
> \<omaciel> your code will fail
> \<omaciel> my question/comment was: shouldn't we fence that?
> \<ichimonji10> omaciel: [...] we can create some code to handle that possibility. But since it's impossible to create an org without a Library, the code we write to handle that possibility will be completely untestable. And untestable code is a liability
> \<omaciel> ichimonji10: well, I learned (the hard way) to never say never :)
> \<ichimonji10> omaciel: I totally get that that could happen.
> \<ichimonji10> omaciel: But we should be writing code to test what is, not what might be
> \<omaciel> ichimonji10:  hehehe not sure I agree with that last statement