added client caching, added updating, added settings dialog, jar now loads resources from within itself, same with settings