Improved validation in parseSignedRequest.

Several prior PRs referenced this.  I researched other open source implementations and this is common first line of defense.  Also added an isset check on the decoded signature.

It's not easily testable since the method is private, but if necessary, a full network test can be added.  The tests that do hit the network validate that this doesn't break correct requests.