Lance Berkman signed by San Francisco Giants