Tesla to build Shanghai battery factory