Fix SharedDataMiddleware.generate_etag

Previously this failed on non-ascii paths
Properly retrieve PATH_INFO in SharedDataMiddleware