94a5bf105c
Bug 2: deactivate() removed routes by path-matching, which caused routes from other plugins sharing the same prefix (e.g. /api/v1/dms) to be removed when deactivating one plugin. Now tracks actual route objects by identity in _mounted_routes and removes only those specific objects during deactivation.