Implemented support for explicit index on ValueOptions.

This is in part related to #50. If no index is set (all defaults to ```0```) no sorting is done and the default behiavor is kept i.e. index by declaration order. If one or more indexes have been set, they are all assumed to be explicit.

This is to cover my use-case of declaring properties in alphabetical order, which differs from their corresponding ValueOption index.

Complete with unit tests. :)

---

Added Index property on ValueOptionAttribute.
Also added two new unit tests for it.