Added view:publish command, fixes #2146

- Fixed copypasta in `ConfigPublishCommand`
- Added `ViewPublisher`
- Added `ViewPublishCommand`
- Modified `PublisherServiceProvider` to include references to new `ViewPublisher` and `ViewPublisherCommand`
- Added tests for `ViewPublisher` and `ViewPublishCommand`

Unit tests run correctly, however I haven't (integration) tested in an actual app environment as I'm not 100% sure of the method to do so without publishing as a package and then requiring it in a blank app.