(For Aaron) - Added parameters to update config function

added type checking for funciton parameters
added unit tests

@abeppu 
Refactor this into a method:
````ruby
def valid_string?(s)
  s.is_a?(String) && !s.empty?
end
````

and then for all parameter checks:

````ruby
raise("site URL must be ...") unless valid_string?(site_url)
````

That's much more readable.