Preserved non-trailing whitespace in chat/activity logs

Added a CSS class to chat/activity log cells, then used it to ensure
that newlines and spaces in those cells was converted to HTML versions.
Also, trimmed trailing whitespace from new chat before submitting it.
- Added infrastructure for reporting reasons for invalid attacks
- Added error messages for invalid power attacks
Added error messages for invalid skill attacks
Added error messages for invalid trip attacks
- Made BMAttackSurrender a daughter class of BMAttackPass
- Added error message for invalid BMAttackSurrender
Added error messages for invalid BMAttackSpeed
Added error messages for invalid BMAttackShadow
Added error messages for invalid BMAttackBerserk
Changed error wording from 'attacker' to 'attacking'
Merge pull request #775 from blackshadowshade/203_invalid_attack_message

Explanations of invalid attack
to match upstream/master
Merge remote-tracking branch 'upstream/master'

Conflicts:
	src/ui/js/Api.js
	test/src/ui/js/test_Api.js
add folder to store images for wiki pages, plus some images
Merge pull request #780 from ManvilleFog/wikipics

Wikipics
* custom PMD ruleset which should have identical behavior to our previous default
* customize PMD rulesets
* exclude ExcessiveClassComplexity not ExcessiveClassLength
* also exclude ExcessiveClassLength
Merge branch 'master' of github.com:buttonmen-dev/buttonmen into 417_jenkins_pmd
Merge pull request #782 from cgolubi1/417_jenkins_pmd

jenkins pmd customization
Removed unused BMContainer classes