Use includes instead of eager_load to ensure images are returned in correct order.

Fixes #5513
Improve the shipment ship api docs to show proper response.
Add upgrade guide and link to it from release notes.
Adding validations for meta_* fields to match Database-constraints.

This fixes #5514. When using MySQL and inserting text into a string
field, the database will flunk if you commit over 255 characters.
This patch adds a few validations to make sure the various
meta_*-fields, using strings in the database, will contraint the lenght
with a maximum of 255 characters.

Fixes #5514
Fixes #5516
create the partial for the promotion sub menu

remove duplicate buttons

This was the main reason for the PR. The preceding commits basically
set up the tab and render it, but this commit shows how much code gets
to be deleted and how much smoother and the promotions tab becomes :D

fixes #5517
include option values when loading option values from option types
fixes #5519
stack level too deep in rails 4.1.6
filter out shipment json data to avoid stack level too deep error in rails 4.1.6
add :state and :store_location_id to shipments js array

fixes #5504
Refactor the duplicate request prevention code ( order.with_lock ) #5523