Configuration files

Do not merge - this is a preliminary PR for discussion.

As of now, incorporates Dolphin's INI code for a configuration system. So far, handles for input controls have been added, but they haven't been hooked yet into the parts of code that use them. 
Might be cool to do away with the array and this for loop and just replace with something like:
const auto register_key = [](std::pair<int, PadState> mapping) {
    KeyMap::SetKeyMapping({mapping.first, keyboard_id}, mapping.second);
}

register_key(Settings::Get("Controls", Settings::PAD_A)->IntVal(Qt::Key_A), HID_User::PAD_A);
...