make drafts work on the functional level, closes #128

- change delete draft methods on the server side:
   1) include draft uri as query param,
   2) remove draft info from both user repo and draft repo
- add removeDraft method to user-service: call the server remove draft method and remove draft locally (from applicationStateService)
- change data structure to store drafts locally: use map from uri to draft (similar as used for needs) for easier access to draft data
- use DraftCtrl only once on the postbox page
- reimplement clickOnDraft(draft) to load create need page passing the draft creation stage and its uri
- take into account create need from draft scenario:
  1) except possible draft uri as query param
  2) if draft uri is passed - create need from that draft instead of from clean need
  3) make visible buttons depend on draft state
  4) when a need from draft is published - remove that draft
  5) use draft uri when publishing need or re-saving draft
Merge remote-tracking branch 'origin/1.0-bugfix' into 1.0-bugfix