provision/docker: fix build (again)

Ops x)
provision: add new error type

This error represents the case when the app does not have any units.

Related to #857.
provision/docker: return provision.ErrEmptyApp

Saying that the app has no containers is accurate, but it's not a good
error message to rely on. Having an error instance to rely is good for
handling the "failure".

Related to #857.
app: ignore provision.ErrEmptyApp on SerializeEnvVars

This error indicates that the app does not have any units, which should
not be a problem for people defining environment variables. They will
get serialized as soon as the app gets a new unit.

Fix #857.