Spain's PM calls snap general election for 28 April