Added new footer expander animation
Adding new expander animation to sections footer
Tweaked the expander animation
Bump AppEngine SDK to latest
Merge pull request #349 from reciprocity/feature/mapping-with-stubs

Variety of changes to fix trees and support chained mappings
Merge pull request #350 from reciprocity/feature/bump-appengine-sdk

Bump AppEngine SDK to latest version 1.8.4
Added new footer expander animation
Adding new expander animation to sections footer
Tweaked the expander animation
Add tooltip for Control> Kind
Updated animation logic to support "+ Objective" and sticky triggers
Fixing merge conflicts with animations

Conflicts:
src/ggrc/assets/javascripts/dashboard.js
Merge pull request #351 from reciprocity/feature/more_tooltips

Add tooltip for Control> Kind
Remove overridden `attr` in Product

* If this ends up being necessary, it should be done en masse in
  Cacheable.attr, using `attributes` to inform which should be refreshed
  on assignment
Add extended Objectives to Control sources for mappings
Fix Objective description autofill for double quotes

* If Section#description had double quotes, the JSON parser would break.
Suppress "Please login to access this page" message
Make owner name show up correctly on Dashboard Program list
Ensure initial list content is included in virtual lists

* In loaders where `source_binding.list` may already contain instances
  (and thus `add` events would not be emitted), said existing instances
  would not be included in resulting lists.  This affected
  MultiListLoader and ReifyingListLoader.
* Also did minor cleanup for clarity and consistency -- namely, ensured
  that `refresh_stubs` and `refresh_instances` *always* return a
  deferred with `binding.list` as the resolved result.
Ensure `TreeViewNode#replace_element` does not fail

* In some odd cases, `replace_element` would be called when
  `this.element` was null, e.g., the controller was destroyed.  This
  protects against (but does not prevent) that case.