Do not actually need to check for no submethods.  Already tested for.
Improve method for returning clean filter.

Logic now verifies `include` if `include`,`exclude`,`base` is used.
Otherwise verify entire filter.
sx-method-call rewritten and associated improvements in sx-request.

Now requires `'sx-auth` to account for authentication.

(sx-method-call) is now defined using `cl-defun` and uses keys rather
than positional arguments.

Authentication logic is performed in `sx-method-call` to ensure commands
are only passed on once they are needed.

When access token is available:
  - Filters will be used as provided
  - Methods will be called
When access token is unavailable:
  - Filters will downgrade to only request object that do not require
    auth.
  - Methods will instead use `sx-request-fallback` and return nil.

If auth is not specified but is required, `sx-method-call` will throw an
error.  If auth is specified as `'warn`, `user-error` will be called.

(sx-request--build-keyword-arguments) has been simplified.  It will
always pass an available access_token (api indicates doing so will use a
user/key quota rather than simply key quota).

(sx-request-make) now performs url retrieval directly.  Query
construction is all performed by `sx-method-call`.
Remove default site specification.  Defaults to nil if not
specified (for network-wide searches).

Remove :warning, drop back to :debug
Uses of `sx-method-call` have been updated to use new format.

sx-question now includes 2 authentication requiring parameters,
`question.upvoted` and `question.downvoted`.  These will only be used if
access token exists.

sx-favorites still uses site-workaround pending #82.