Added view:publish command, fixes #2146

- Fixed copy+paste errors 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, and I have tested in an actual app environment too.

These changes will also work against 4.0 branch.