feat(wants) start with the backend changes for buy reasons
feat(wants) wire up backend and frontend and align with endorsements widget in terms of look and feel
feat(wants) finish the syndication part; now on to making it part of wants widget
feat(wants): complete NOW-240

provide the wants syndication
remove hardcoded buy reasons
use configured buy reasons on the wants widget
feat(wants) fix specs to reflect changed code
feat(wants-widget): respond to code-review comments

made endorsements/wants/ratings and screen titles uniform (per Shannan)
introduced a buy reasons manager
renamed id-list to buy-reason-id-list
fix(wants): respond to code-review comments

- use camelcase: true for jshintrc so that we don't have to remember
- exclude existing (and permissible) uses of _ in variable names
- rename variables to use CamelCase
fix(wants) respond to code review comments, wrap liApiManager
feat(wants): rely on buy-reason-id list rather than product-id for wants

Since an instance of a widget is 'stateless' in that we can't identify
one instance of a wants widget from another, a decision was made to use
buy-reason-id-list for widget rendering and behavior, whereas the
widget-syndication page uses add/remove buttons to actually save
the buy-reasons to the database. This is a mismatch that we agreed
to resolve later. For now, the widget-syndication uses add to
add reasons to database, remove to hide it from the UI and
the buy-reason-id list is exclusively used for widget's runtime
behavior.
chore(git) merge develop
chore(git) merge develop
merge from develop and take care of edge cases
Merge pull request #79 from lithiumtech/feature/NOW-240

Feature/now 240