Remove unnecessary parts, mark sync as abstract.

Router, History, and View are all unnecessary on the server, as is the
dependence on jQuery/*. Backbone.sync assumes it is on the client, and
has a dependency on the same library referred by $. This assumption is
not useful on the server. As a result, it has been replaced by a
function which will throw when invoked to inform the user that they
should instead implement their own version to suit their application.