Reformatted config.js to be nested json.
Guard against crash from client not sending expected callback.
Added song source module, and upload source.
Added search to socket api.