Fix segfault on invalid graphics context driver

Last element of gfx_ctx_drivers[] is NULL, don't dereference it.
Merge volume_db and audio_volume, save audio_volume

This prevents unexpected volume changes on RARCH_VOLUME_UP and
RARCH_VOLUME_DOWN, and adds convenience by saving to config file.
Merge pull request #1098 from mprobinson/invalid-ctx-segfault

Fix segfault on invalid graphics context driver
Merge pull request #1099 from mprobinson/volume-cfg

Merge volume_db and audio_volume, save audio_volume
Add null gfx context driver
(GL) Get rid of some unnecessary conditionals now that context driver
is at the very least set to a null driver
global subsystem variable - change to PATH_MAX instead of hardcoded
256
general.h - Same for error string
(settings_data.c) Indenting nits
settings_data.c - indenting nits
(settings_data.c) More indenting nits
Split up settings list code into settings_list.c file
(Null gfx context driver) Prevent excess elements when HAVE_EGL is not defined
(OSX) Get rid of unused variable warnings for now on OSX
Dehardcode some code in menu_entries.c
Dehardcode some code in menu_common_type_is
(Menu) Input Options and Shader Options don't go through settings list
yet, so put them back in menu_common_type_is
Refine some command in setting_data_append_list_input_options
(Settings_data) Iterate over all Player Index settings
(Menu/Settings) Represent input setting options with 'player' index prefix