Dashboard navigation should retain order

This commit allows the dashboard order to be changed without having to
specify the entire dict/list in a different order.

Note: this commit also adds code to support backwards compatibility for
older versions of oscar that use a list for the dashboard navigation
setting