Refactored Location model: added request timeout option; added 'data' property for storing raw data response; improved cleanup after request; fixed firing success/error callbacks.