Allow indent rule overriding

`cperl-calculate-indent` is monolithic function. This makes things tricky if
you just want to override the behaviour of one return type from
`cperl-sniff-for-indent`. So... I've extended cperl-indent-rules-alist to
allow for its holding a symbol to be called as a function.

Also, made things behave as documented when the rules alist is
with a number, that number is now treated as an offset, not a column number.
'nil is treated as 'absolute column 0'.