Further code cleanups

See commits for exact cleanups that have been done. However do note that it is assumed that sp_session_create will fail and let us know if we give it a struct that is missing "required" fields. The new code only checks for conversion errors, user agent length and missing attributes, everything else is left to spotify.

Next step after this is a ``clang-format`` run using whatever style we go for. Mainly as interleaving such a formatting fix would just be confusing.