line_pos_iterator column numbering bug,get_current_line bug.

This pull request fixes following bugs.
- line_pos_iterator's column numbering bug.
- line_pos_iterator's get_current_line bug.

Small sample that causes bug is here.
~~~~~~
#include <iostream>
#include <string>
#include <boost/spirit/include/qi.hpp>
#include <boost/spirit/include/support_line_pos_iterator.hpp>

int main(){
    typedef boost::spirit::line_pos_iterator<std::string::const_iterator>
                pos_iterator_t;
    {
        std::string test = "abc\ndef";
        pos_iterator_t begin(test.begin()),
                       end(test.end());
        // print test for debug.
        std::cout << std::string(begin,end) << std::endl;

        // !!!!column numbering bug!!!!
        // 'd'(2,2) should be 'd'(2,1).
        for(pos_iterator_t iter=begin;iter!=end;++iter){
            std::cout << "'" << *iter << "'" 
                << "(" << get_line(iter) << ":" << get_column(begin,iter) << ")"
                << std::endl;
        }

        // !!!!get_current_line bug!!!!
        //  When iter is at 'd','e','f',current_line.length() should be 3.
        //   and,what get_current_line should return when iter is at '\n'?
        for(pos_iterator_t iter = begin; iter != end; ++iter){
            auto range = get_current_line(begin,iter,end);
            std::string current_line(range.begin(),range.end());
            std::cout << current_line << " (len:" <<  current_line.length() << ")"
                << std::endl;
        }
    }
    return 0;
}

~~~~~~

And,I have a few questions.

- Spirit "must" handle CR,LF,CR+LF,LF+CR completely?
  I think,it is very hard mission.I couldn't handle it well.
- Should I add Copyright on line_pos_iterator.hpp?
Don't use alternative tokens like `and` or `or`, even while being part of the standard they do not work out of the box on some compilers (noticeable MSVC).