[FEATURE] Adds global interfaces for basic bit manipulations.

This commit adds global function interfaces for bit manipulations. Using this interfaces we can generically execute bit manipulations on any type that supports bit manipulations. Especially when dealing with bit vectors these interfaces allow for a more efficient implementation as they avoid copying large objects. 

The commit includes tests for the interfaces and the specializations for packed strings.
The new function interfaces are documented as well.
All applications and tests where compiled and executed in debug/release mode successfully.