Make unimplemented subList in AbstractXXXList throw instead of return null

`AbstractXXXList#subList(int, int)` is currently not implemented but instead of throwing an exception, it returns `null`, which is a violation of its contract: `@return a new ${Type}List for the subList, not null`. I've changed it (also in method's documentation), added deprecation notices and proper test which corresponds to current behavior. I'll also try to implement subList, but for now this PR should be included in joda-primitives.