Fix primary key identification

_primary_key_name was finding the table column name, however it should
find the attribute name of the model
Merge pull request #176 from logandk/custom-column-names-upstream

Fix primary key identification
Records change due to previous commit.
Fixes typo in documentation.
Sorts items in changelog in increasing numerical order by GitHub issue number.
Adds test for adding multiple instances of association proxy in POST.
Fix issue #164.
Allow patching related models - fixes #173. Allow creation of duplicate instances when no unique index exist - fixes #172.

Conflicts:
	flask_restless/views.py
Style and documentation improvements.
Adds issues fixed to changelog.
Trims line to 79 characters.
Adds exclude_ and include_relations back in.
this variable is named `cls`, not `cls_`
Merge pull request #177 from goodscloud/fix_assign_attributes

this variable is named `cls`, not `cls_`
fix _get_or_create

This code queried for the instance using the key returned by `_primary_key_name`. That function however only returns the *first* primary key. And it may be that several primary keys are needed to uniquely identify a row, so it wasn't guaranteed to always get the correct row.

It also did not check whether the result of `_get_by` returned `None`, in which case it would go on to assign attributes to `None` rather than a model object.
Merge pull request #178 from goodscloud/fix_get_or_create

fix _get_or_create
Code style fixes.
Fixes duplicate test function name.
Merge branch 'master' of ssh://github.com/jfinkels/flask-restless
Style fixes.