UK premier announces general election on July 4