Rabx column refactor

* Collect lots of repeated code into one place.
* Fix issue where the following code would not actually save change to the datbase:

``` perl
my $extra = $problem->extra;
$extra->{foo} = 'bar';
$problem->update({extra => $extra});
```