refactor pinentry into its own service and start it at boot issue #1231

also fixes crash when setting the PATH but NativeHelper.setup() hasn't been called