Rename all serial functions to UART to match namespace.
Don't duplicate 'uart' in function names in uart namespace.
Rename Listener to Pipeline to match namespace.
Merge branch 'v4.0' into non-dupe-names

Conflicts:
	src/canemulator.cpp
	src/cantranslator.cpp
	src/interface/pipeline.cpp
	src/main.cpp
	src/tests/listener_tests.cpp
Don't duplicate 'network' in function names in network namespace.
Don't duplicate 'usb' in function names in usb namespace.
Remove duplicate 'lights' text from lights namespaced functions.
Remove duplicate 'bluetooth' text from bluetooth namespace functions.
Move can utilities to the can subdirectory.
Remove duplicate 'can' name from can namespace functions.
Remove duplicate 'can' name from can namespaced functions.
Remove duplicate 'platform' text from platform namespace functions.
Remove duplicate 'power' from power namespaced functions.
Remove duplicate 'logging' name from logging namespaced functions.
Remove duplicate 'timer' namer from timer namespaced functions.
Move pipeline out of interface namespace and subfolder.
Remove duplicate 'gpio' name from gpio namespaced functions.
Remove extra namespace imports.
Fix old function name in code generator.