Updated REST and SOAP API's to support External Authentication.

- Added a :require_user option to User.authenticate
- Added :timeout option to MiqTask.wait_for_taskid
- Updated REST API to pass HTTP Env and option to User.authenticate
- Updated Appliance Console to extend the Apache External configuration
to be REST and SOAP API aware.
- Properly unconfiguring HTTPD application from appliance console.
- Added REST API and SOAP :authentication_timeout config, both
default to 30 seconds
@abellotti This part is hard for me to understand.  It seems like we're checking the task in both the wait_for_taskid and again here.  Can we instead put something in the message field (If I remember correctly), state, status, etc. in the task so you don't have to interrogate it?  I think there's a concept of a STATUS_TIMEOUT you can set in the task in the wait_for_taskid.

Something like: 

```ruby
if options[:require_user] && !user_or_taskid.kind_of?(self)
  task = MiqTask.wait_for_taskid(user_or_taskid, options)

  if task.nil? || task.status_timeout?
    raise MiqException::MiqEVMLoginError, fail_message
  end
end
```