Warriors land Johnson in shock signing