> jQuery.post() only supports a success callback

I don't think [that's actually true](https://api.jquery.com/jQuery.post/).  jQuery.post() supports .done(), .fail() and .always().  As far as the beforeSend property, I'm not sure that we actually need to worry too much about using that.  As a matter of style, I'd prefer using the higher level APIs like $.post() and $.get() instead of lower-level APIs like $.ajax(), unless absolutely necessary.  Given that we're not utilizing anything here in core that requires $.ajax(), I do think $.post() makes more sense.

This does have me thinking, however.  I think it would be pretty cool to have any errors logged in the console based on WP_DEBUG, which would be nice to returned as part of the localized wpsc_ajax object.  That would make the implementation of .fail() pretty useful in debugging environments.