Iteration ordering attribute, ve_idx iterater method

This PR is based off of the discussion in #268. Originally the PR #268 set out to solve the issue #267. This PR represents what I feel is a better solution to #267.

The ordering of ```ve_idx``` for structured meshes can now be specified upon instantiation (it was previously assigned by ```imesh.iterate``` order, which happens to be zyx). I also added a method to provide iterator objects of ```ve_idx``` in any iteration order. Consider a simple example with a 2x2x1 mesh. If you specify that ve_idx should be numbered in zyx order upon instantiation and then request ```ve_idx``` in _xyz_ order you will get [0, 2, 1, 3].