proto: Update metadata protobuf with added Catalogue SHUFFLE enum
proto: add pubsub and playlist4service
proto: update schemas module api, add protobufjs support

* rewrites the schemas API, using a build function that takes in the
package name and message type to create an object.
* adds protobufjs support in the case where protobuf is not
available/installed
spotify: tag function bugfix
Merge pull request #57 from adammw/protobufjs

Protobuf.js (again)