Storage refactor

Jobs are now stored under separate Redis keys to provide atomic updates (fixes issues with jobs overwritting their own statuses and losing progress).

Also normalizes JSON parsing everywhere and removes dead code (Node and Edge)