Fixed an issue with ignored options causing CommandLineParserException if they have no setter

I've ran into an exception with the following command code:
```
public class MyCommand : CommandBase{ 
   [IgnoreOptionProperty]
   public string Name { get { return "my name"; } }
}
```

The `Name` property has no setter but it's decorated with `IgnoreOptionPropertyAttribute` so it should not cause any trouble, but it did. Check for `IgnoreOptionPropertyAttribute` has been placed after option property validation code so it misfired.
I've fixed the issue by moving 4 lines of code :)