Generalizing lines algorithms for three dimensions, refactoring.

Pretty much went through the lines code and added overloads for tripoint arguments and vectors, stripped out and cleaned up some other stuff as well.  

There are some dumb cleanup things in here as well, I'll pull them out later but I keep meaning to submit this stuff and never get around to it so hopefully I'll get some churn on it by posting. Specifically, itype was touched unintentionally. Any input is welcomed.

I did remove a lot of the old logic for line_to calculation as it seemed inelegant and on a modern processor with a modern compiler you're probably not going to notice much of a difference.  I've not benchmarked anything though.