Fixed interpolate edge case bug

Fixed interpolate edge case bug where reaching the end of a table throws
an exception. This means that interpolate will now extrapolate if one is
not paying attention to the input. Also the "rdb" and "table" classes
store their source path in self.path.