Fix cache invalidation to behave properly.

Use `delete-file` rather than simply setting cache to `nil`.  nil is
still a valid cache value which can cause reinitialization to fail.

Fix bug with nil funcall.
Implement checking for filter and method authentication requirement.

Currently no filter items are defined pending confirmation of which
require it.
Fix filter logic to account for alist of properties.

sx-auth-filter-auth now returns a filter that will not require auth for
use when auth not available.

Add a few known auth-required types.
Fix sx-auth--method-p to work correctly when there is no submethod
specified.
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.
Fix auth settings in calls.  Do not use 'warn in non-interactive commands.
Do not initialize Stack-Mode.

Initializing will retrieve user preferences/authentication.  We do not
need this.
Typo fix.
Properly return a nil entry when falling back

sx-request-make returns a nested list (or vector of lists).  Return
`'(())` to ensure it is an acceptable response.
Merge branch 'master' into invalidate-cache

Conflicts:
	sx-cache.el - RESOLVED
Merge branch 'master' into sx-method-auth.  Conflicts have been
resolved.

Logic and functions have been kept from the `cl-defun` `sx-method-call`
while docstrings have been updated as per #77 when possible.

Conflicts:
	sx-auth.el
	sx-method.el
	sx-question.el
	sx-request.el
Update docstring to reflect uses of `AUTH`.
Fix docstring/argument list ordering (mistake during merge).

Fix `url-automatic-caching` to use `t` rather than
`sx-request-cache-p` (used in tests only).
Whitespace/indent fixup.
Use `(declare (indent 1)) in `sx-method-call`.
Use `\(` for ( at beginning of line in docstring.