Implemented the features described in the "Basic intensity features" section.

I tested them but I didn't add the automated tests to the test folder yet.
`*(p.end() - 1)` should be replaced with `p.back()`, likewise `*(p.begin())` with `p.front()`.