Added a throws declaration to the auto start manager

Because of this a auto start implementation can now throw errors
to tell the caller something bad happends. The best way to do this
would be to throw it by providing a cause throwable.
The Windows auto start implementation now throws a exception if something bad happens