fixed line not found issues in set breakpoint (linecache patch, used by the debugger)

It seems that the python debugger framework (bdb, used by the online debugger) uses linecache.getline that is not working under py2exe for user applications (maybe because py2exe monkey patch it)

Also, that function stores a internal line cache, so it doesn't work very well with web2py "eval" execution model, and may not find new lines added to a controller after a breakpoint was set (it doesn't refresh the file source code if modified).

This PR fixes both.

Please note that the debug interact view reads the full source code using readlines, so linecache is not used there and is not affected by this issue.