Bail early with correct WP_Error when an invalid post ID is passed to wp_insert_post() and wp_update_post().

Props simonwheatley
fixes #23474


git-svn-id: http://core.svn.wordpress.org/trunk@23740 1a063a9b-81f0-0310-95a4-ce76da25c4cd