Just return the value if it exists, otherwise return the default.

The guard here caused the ‘EXIT’ clause to be triggered in
`ejabberd_config:prepare_opt_val/4` on line 573 of
`ejabberd_config.erl`.
Clean up.
Add support for using yaml config file.

When converting to use the yaml config, the option for `allowed_ips`
gets stored as a binary. But needs to be compared against the client ip
of the request (which is a tuple). This converts the list of binaries
into a list of ip tuples.
Update get_vcard and set_vcard to ejabberd 13 (fixes issue #21)
Merge pull request #20 from scrogson/master

Fix mod_rest allowed_ips option to work with new yaml config.
Fix add_rosteritem, delete_rosteritem, and get_roster
Fix get_vcard and set_vcard when using option module_resource (issue #21)
Merge pull request #23 from scrogson/fix_roster_commands

Fixes add_rosteritem, delete_rosteritem, and get_roster
Update add_roster_item and get_roster to ejabberd 13
More binary conversions
Some updates to work a little more with ejaberd 13 binaryzation
Refactor mod_webpresence to work with binary plus icons
Merge pull request #26 from runcom/refactor_mod_webpresence

Refactor mod_webpresence to work with binary plus icons
Merge pull request #25 from scrogson/more_binary_conversions

[WIP] More binary conversions
mod_s2s_log: Remove ?DEBUG() calls

Current ejabberd versions support two different logging frameworks that
require different build options.  There's currently no easy way to deal
with this for external modules, so let's omit the ?DEBUG() calls for the
moment.
mod_s2s_log: Update gen_mod:get_opt() call

Adjust the gen_mod:get_opt() call to work with current ejabberd
versions.
mod_muc_admin: Fix "muc_online_rooms" output

Don't split the components of room JIDs in the "muc_online_rooms"
output.
Merge pull request #28 from weiss/fix-muc-online-rooms

Fix "muc_online_rooms" output
Merge pull request #27 from weiss/fix-s2s-log

Fix mod_s2s_log to work with ejabberd 13.12
Merge with upstream