Post API response to use author not author_id

Closes #2608
- added toJSON method override for post model
- in the event no expanded author relation is present the id will be used
- removed author_id from expected response JSON for posts.
- updated integration tests to check for existence or not of author and author_id
Tag API response to use parent rather than parent_id

Closes #2607
- added toJSON method to tag model
- parent_id attribute is replaced by parent
- integration tests will expect parent as an attribute
Ensure that the character set is UTF-8 for RSS feed

When setting the Content-Type header for the RSS feeds, the character
set is omitted. However, when running the feed through the
[Feed Validator](http://feedvalidator.org), it became apparent that
there was a problem as the encoding defaults to US-ASCII. See
[RFC 3023](http://www.ietf.org/rfc/rfc3023.txt) for further information
on the default XML charset over HTTP.

I have added a test and simple update to the 'Content-Type' header.
Merge pull request #2629 from shindakun/shiftctrll

 Correct link shortcut so that it inserts, selects text or moves cursor properly
Merge pull request #2642 from connrs/feature-add-charset-to-rss

Ensure that the character set is UTF-8 for RSS feed
Merge pull request #2634 from alarobric/feature/2608AuthorRelation

Post API response to use author not author_id
Merge pull request #2641 from alarobric/feature/2607TagParentRelation

Tag API response to use parent rather than parent_id
Invalidate cache header only for published posts

Closes #1563

- Add new updatedAttributes() functionality to base models
- Update Post.edit(...) to pass along _updatedAttributes values
- Update Post.delete to set statusChanged to true
- Add checking for statusChanged to cacheInvalidationHeader()
- Update route tests that check for cache invalidation header
Merge pull request #2632 from jgable/invalidateCache

Invalidate cache header only for published posts
Adding public to reserved slugs

See this [tweet](https://twitter.com/TryGhost/status/459069697930330112)

Also see the new [Wiki page](https://github.com/TryGhost/Ghost/wiki/Reserved-Slugs)
Merge pull request #2644 from andschwa/master

Adding public to reserved slugs
Changed boolean handling

closes #2638
- replaced format() with parse() to convert values when fetched
- changed validation from integer to boolean
- added checks to tests
Merge pull request #2651 from sebgie/issue#2638

Changed boolean handling
AppProxy with permissions checks and app context

Ref #2059

- Refactor appProxy into class that is instantiated per App
- Check for permissions before doing proxied filter/helper calls
- Add all currently existing api methods, let api check for permissions
- Basic unit tests for filter and helper register/deregister
- Adjusted proxy api method existence unit tests
Add include parameter for posts API

closes #2609
- added include parameter to api.posts.*
- changed toJSON to omit objects that are not included
- added include parameter to admin
- added include parameter to frontend.js
- updated tests
- removed duplicate code from posts model

**Known Issue:** It is not possible to attach a tag using an ID.
Merge pull request #2646 from sebgie/issue#2609

Add include parameter for posts API
Additional objects

closes #2620
- moved aspect -> filters
- updated tests
- fixed inconsistency in pagination object
Support for urlSSL config option and forceAdminSSL 403 response

closes #1838
- adding `forceAdminSSL: {redirect: true/false}` option to allow 403 over non-SSL rather than redirect
- adding `urlSSL` option to specify SSL variant of `url`
- using `urlSSL` when redirecting to SSL (forceAdminSSL), if specified
- dynamically patching `.url` property for view engine templates to use SSL variant over HTTPS connections (pass `.secure` property as view engine data)
- using `urlSSL` in a "reset password" email, if specified
- adding unit tests to test `forceAdminSSL` and `urlSSL` options
- created a unit test utility function to dynamically fork a new instance of Ghost during the test, with different configuration options
Merge pull request #2631 from jgable/appProxyContext

AppProxy with permissions checks and app context
Merge pull request #2238 from gimelfarb/fix-1838-admin-ssl

Support for urlSSL config option and forceAdminSSL 403 response