Use memmove instead of memcpy for potentially overlapping memory

This fixes an issue reported by valgrind where overlapping memory
was copied with memcpy.
This also removes a redundant assignment where the array size was
explicitly set to zero when it was already zero.
Graphics:  Comment out parsed shader logging
Add help menu with log file uploading

Added github gist API uploading to the help menu to help make problems a
bit easier to debug in the future.  It's somewhat vital that this
functionality be implemented before any release in order to analyze any
given problem a user may be experiencing.
Update Qt5 usage in CMakeLists
Merge pull request #87 from fryshorts/fixes

Use memmove instead of memcpy for potentially overlapping memory
Merge pull request #88 from BtbN/cmake_qt

Update Qt5 usage in CMakeLists
Change logging statements for pulseaudio plugin

This removes some useless and annoying logging and on the other
hand bumps the prio on more important ones.
Fix a memory leak in pulseaudio plugin
Add some statistics to pulseaudio plugin

This patch adds counters for packets and frames for debugging purposes.
Merge pull request #89 from fryshorts/pulse-input

Improve logging for pulseaudio plugin
UI: Add function to find default video save path

On windows this will return the documents\video directory, but on
linux/mac it'll just return $HOME for the time being because I don't
know if there really are any other appropriate adequate paths to use.
Perhaps someone else can be willing to fill this in if they wish.
UI: Add function to generate time/date filenames
UI: Add FLV file output (sharing encoders)

Implement the 'file path' in output settings, and implement the 'start
recording' button, though for the time being I'm just going to make it
use a directory rather than allow custom file names.

This file output will actually share the video and audio encoder with
the stream.

I don't really know what to do about MP4 -- I don't really like the idea
of saving directly in the program, if you do and the program crashes,
that MP4 file is lost.  I'm contemplating making some sort of mp4 output
process stub.  So no MP4 file output for the time being.

If you need MP4, just remux it with FFmpeg:

ffmpeg -i flv_file.flv -acodec copy -vcodec copy mp4_file.mp4
Update core to 0.2.4
libobs:  Move API version info to obs-config.h

This way it doesn't interfere with any actual relevant commits related
to obs.h.
Fix packet/frame counter for pulseaudio plugin

Reset the counters when the recording is stopped.
Fix requested latency for pulseaudio plugin

When the PA_STREAM_ADJUST_LATENCY flag is passed, pulse will interpret
the fragsize attribute as a literal targeted latency.
Remove pa timestamps option from pulseaudio plugin

Due to desync issues with the pa timestamps, os ones are
now the only option.
UI:  Fix string conversion bug

Parameter two of os_wcs_to_utf8 is how many characters to convert, not
how big the buffer is.
Add dst_size parameter to character conv funcs

Character conversion functions did not previously ask for a maximum
buffer size for their 'dst' parameter, it's unsafe to assume some given
destination buffer may have enough size to accommodate a conversion.