Correct link shortcut so that it inserts, selects text or moves cursor properly

 Closes #2614
 - Determine proper place for selection, or simply move the cursor.
 - When no text is selected insert link markdown and move cursor to a into the [].
 - When text is selected insert link markdown and move selection to http:// so URL can be pasted.
Made better-er
Merge pull request #2630 from shielsasaurus/master

Updated the README slightly.
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
Merge remote-tracking branch 'upstream/master' into wordselect

Conflicts:
	core/client/markdown-actions.js
Fix wordselect shortcut to select characters in between spaces.

Closes #1275
- Use indexOf and lastIndexOf to help determine word boundry.